/* ============================================================
   AG — Section, page & WooCommerce styles
   ============================================================ */

/* ---------- HERO ---------- */
.ag-hero {
	position: relative;
	min-height: min(100svh, 920px);
	display: flex;
	align-items: center;
	padding-block: calc(var(--ag-header-h) + 3rem) 4rem;
	background: radial-gradient(130% 100% at 80% -10%, #1d1d22 0%, #0a0a0b 60%);
	color: var(--ag-on-dark);
	overflow: hidden;
	isolation: isolate;
}

/* Full-bleed background-image hero (image as background, text on language side) */
.ag-hero--bg {
	min-height: min(100svh, 940px);
}

.ag-hero--bg .ag-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.ag-hero--bg .ag-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* show the chef's face/upper body within the tall hero */
	object-position: center 22%;
}

.ag-hero--bg .ag-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	/* RTL default: text on the RIGHT → darkest on the right */
	background:
		linear-gradient(to left, rgba(10, 10, 11, 0.93) 0%, rgba(10, 10, 11, 0.82) 28%, rgba(10, 10, 11, 0.45) 62%, rgba(10, 10, 11, 0.06) 100%),
		linear-gradient(to top, rgba(10, 10, 11, 0.45), transparent 38%);
}

html[dir="ltr"] .ag-hero--bg .ag-hero__overlay {
	/* English: text on the LEFT → darkest on the left */
	background:
		linear-gradient(to right, rgba(10, 10, 11, 0.93) 0%, rgba(10, 10, 11, 0.82) 28%, rgba(10, 10, 11, 0.45) 62%, rgba(10, 10, 11, 0.06) 100%),
		linear-gradient(to top, rgba(10, 10, 11, 0.45), transparent 38%);
}

.ag-hero__inner.ag-hero__inner--single {
	display: block;
	position: relative;
	z-index: 3;
}

.ag-hero__inner.ag-hero__inner--single .ag-hero__content {
	max-width: 580px;
	/* push content to the logical START: right in RTL, left in LTR */
	margin-inline-end: auto;
}

@media (max-width: 700px) {
	.ag-hero--bg .ag-hero__overlay {
		background: linear-gradient(to top, rgba(10, 10, 11, 0.85), rgba(10, 10, 11, 0.55));
	}
	.ag-hero__inner--single .ag-hero__content { margin-inline: 0; }
}

.ag-hero__glow {
	position: absolute;
	inset: 0;
	z-index: 0;
	background:
		radial-gradient(40% 50% at 78% 30%, rgba(200, 145, 30, 0.35), transparent 70%),
		radial-gradient(35% 40% at 15% 80%, rgba(236, 199, 102, 0.18), transparent 70%);
	pointer-events: none;
}

.ag-hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

.ag-hero__content { min-width: 0; }

@media (max-width: 920px) {
	.ag-hero__inner { grid-template-columns: 1fr; }
	.ag-hero__media { aspect-ratio: 16 / 11; max-width: 560px; }
	.ag-hero__chip { display: none; }
}

.ag-hero__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	font-size: var(--ag-fs-0);
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--ag-gold-light);
	margin-bottom: 1.4rem;
	padding: 0.5em 1.1em;
	border: 1px solid rgba(236, 199, 102, 0.3);
	border-radius: var(--ag-r-pill);
	background: rgba(236, 199, 102, 0.06);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.ag-hero__eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ag-gold-light);
	box-shadow: 0 0 12px var(--ag-gold-light);
	animation: ag-float 2.4s ease-in-out infinite;
}

.ag-hero__title {
	font-size: clamp(2.6rem, 1.4rem + 5.2vw, 5rem);
	line-height: 1.4;
	margin: 0 0 1.2rem;
	letter-spacing: -0.02em;
	overflow-wrap: break-word;
}

.ag-hero__title .ag-gold-text {
	background: var(--ag-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	display: inline-block;
}

.ag-hero__text {
	font-size: var(--ag-fs-2);
	color: var(--ag-on-dark-soft);
	max-width: 52ch;
	margin-bottom: 2rem;
}

.ag-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.9rem;
	margin-bottom: 2.6rem;
}

.ag-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(1.2rem, 4vw, 3rem);
}

.ag-hero__stat strong {
	display: block;
	font-family: var(--ag-font-display);
	font-size: var(--ag-fs-4);
	font-weight: 800;
	line-height: 1;
	background: var(--ag-gold-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.ag-hero__stat span {
	font-size: var(--ag-fs-0);
	color: var(--ag-on-dark-soft);
}

/* hero photo media (real restaurant-kitchen image + floating product chips) */
.ag-hero__media {
	position: relative;
	aspect-ratio: 4 / 5;
	transform-style: preserve-3d;
}

.ag-hero__photo {
	position: absolute;
	inset: 0;
	border-radius: var(--ag-r-xl);
	overflow: hidden;
	box-shadow: var(--ag-sh-3);
	border: 1px solid rgba(236, 199, 102, 0.28);
	will-change: transform;
}

.ag-hero__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.04);
	transition: transform 1.2s var(--ag-ease);
}

.ag-hero__media:hover .ag-hero__photo img { transform: scale(1.09); }

.ag-hero__photo-ring {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12), inset 0 -120px 120px -60px rgba(10, 10, 11, 0.85);
	pointer-events: none;
}

.ag-hero__photo-grad {
	position: absolute;
	inset-block-end: 0;
	inset-inline: 0;
	height: 45%;
	background: linear-gradient(to top, rgba(10, 10, 11, 0.55), transparent);
	pointer-events: none;
}

/* floating product image chips */
.ag-hero__chip {
	position: absolute;
	margin: 0;
	width: clamp(96px, 11vw, 150px);
	aspect-ratio: 1;
	border-radius: var(--ag-r);
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(236, 199, 102, 0.5);
	box-shadow: var(--ag-sh-2);
	z-index: 3;
	animation: ag-float 5s ease-in-out infinite;
}

.ag-hero__chip img { width: 100%; height: 100%; object-fit: contain; padding: 10%; }

.ag-hero__chip--a { inset-block-start: 12%; inset-inline-start: -8%; animation-delay: -1.2s; }
.ag-hero__chip--b { inset-block-end: 18%; inset-inline-end: -7%; animation-delay: -2.8s; }

/* live-stock glass badge (inline, inside hero content) */
.ag-hero__live {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 1.6rem;
	padding: 0.6rem 0.95rem;
	border-radius: 14px;
	background: rgba(16, 16, 20, 0.55);
	-webkit-backdrop-filter: var(--ag-blur);
	backdrop-filter: var(--ag-blur);
	border: 1px solid rgba(236, 199, 102, 0.28);
	color: var(--ag-on-dark);
	line-height: 1.25;
}

.ag-hero__live strong { display: block; font-size: var(--ag-fs-0); font-weight: 700; color: var(--ag-gold-light); }
.ag-hero__live span { font-size: 0.72rem; color: var(--ag-on-dark-soft); }

.ag-hero__live-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--ag-ok);
	box-shadow: 0 0 0 0 rgba(47, 158, 111, 0.6);
	animation: ag-pulse 1.8s ease-out infinite;
	flex-shrink: 0;
	align-self: center;
}

@keyframes ag-pulse {
	0% { box-shadow: 0 0 0 0 rgba(47, 158, 111, 0.5); }
	70% { box-shadow: 0 0 0 7px rgba(47, 158, 111, 0); }
	100% { box-shadow: 0 0 0 0 rgba(47, 158, 111, 0); }
}

.ag-hero__scroll-hint {
	position: absolute;
	inset-block-end: 1.5rem;
	inset-inline-start: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: grid;
	justify-items: center;
	gap: 0.55rem;
	font-size: var(--ag-fs-0);
	color: var(--ag-on-dark-soft);
}

.ag-hero__scroll-label {
	letter-spacing: 0.04em;
	white-space: nowrap;
	font-size: 0.72rem;
	opacity: 0.8;
}

.ag-hero__mouse {
	width: 20px;
	height: 32px;
	border: 1.5px solid rgba(236, 199, 102, 0.55);
	border-radius: var(--ag-r-pill);
	position: relative;
}

.ag-hero__mouse::after {
	content: "";
	position: absolute;
	inset-inline-start: 50%;
	inset-block-start: 6px;
	width: 3px;
	height: 6px;
	border-radius: 3px;
	background: var(--ag-gold-light);
	transform: translateX(-50%);
	animation: ag-scroll-dot 1.6s ease-in-out infinite;
}

@keyframes ag-scroll-dot {
	0% { opacity: 0; transform: translate(-50%, 0); }
	40% { opacity: 1; }
	100% { opacity: 0; transform: translate(-50%, 9px); }
}

/* ---------- TRUST BAR ---------- */
.ag-trust {
	background: var(--ag-black);
	color: var(--ag-on-dark);
	padding-block: clamp(2.5rem, 5vw, 4rem);
	margin-block-start: 0;
}

.ag-trust__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
}

.ag-trust__item {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.4rem;
	border-radius: var(--ag-r);
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid var(--ag-line);
	transition: transform 0.4s var(--ag-ease), border-color 0.4s, background 0.4s;
}

.ag-trust__item:hover {
	transform: translateY(-5px);
	border-color: rgba(236, 199, 102, 0.4);
	background: rgba(236, 199, 102, 0.05);
}

.ag-trust__ico {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: 14px;
	display: grid;
	place-items: center;
	background: var(--ag-gold-grad);
}

.ag-trust__ico::before {
	content: "";
	width: 26px;
	height: 26px;
	background: var(--ag-black);
}

.ag-trust__ico--truck::before { -webkit-mask: var(--ag-ico-truck) center/contain no-repeat; mask: var(--ag-ico-truck) center/contain no-repeat; }
.ag-trust__ico--shield::before { -webkit-mask: var(--ag-ico-shield) center/contain no-repeat; mask: var(--ag-ico-shield) center/contain no-repeat; }
.ag-trust__ico--bolt::before { -webkit-mask: var(--ag-ico-bolt) center/contain no-repeat; mask: var(--ag-ico-bolt) center/contain no-repeat; }
.ag-trust__ico--tag::before { -webkit-mask: var(--ag-ico-tag) center/contain no-repeat; mask: var(--ag-ico-tag) center/contain no-repeat; }

.ag-trust__item .ag-trust__title { font-size: var(--ag-fs-2); margin: 0 0 0.2rem; }
.ag-trust__item p { font-size: var(--ag-fs-0); color: var(--ag-on-dark-soft); margin: 0; }

/* ---------- CATEGORIES ---------- */
/* Carousel shell (categories) */
.ag-carousel {
	position: relative;
}

.ag-cats__grid {
	display: flex;
	gap: clamp(0.9rem, 2vw, 1.4rem);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scroll-padding-inline: 2px;
	padding-block: 1rem;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.ag-cats__grid::-webkit-scrollbar { display: none; }

.ag-cats__grid > .ag-cat-card {
	flex: 0 0 clamp(220px, 24vw, 282px);
	scroll-snap-align: start;
}

/* nav arrows clustered top-start, clear of the cards */
.ag-carousel__nav-wrap {
	position: absolute;
	inset-block-start: -3.5rem;
	inset-inline-end: 0;
	display: flex;
	gap: 0.5rem;
	z-index: 6;
}

.ag-carousel__nav {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--ag-line-dark);
	background: var(--ag-white);
	box-shadow: var(--ag-sh-1);
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: transform 0.3s var(--ag-spring), background 0.3s, color 0.3s, opacity 0.3s;
	color: var(--ag-fg);
}

.ag-carousel__nav::before {
	content: "";
	width: 19px;
	height: 19px;
	background: currentColor;
	-webkit-mask: var(--ag-ico-arrow) center / contain no-repeat;
	mask: var(--ag-ico-arrow) center / contain no-repeat;
}

/* RTL: prev points right (default arrow points right), next points left */
.ag-carousel__nav--next::before { transform: scaleX(-1); }

.ag-carousel__nav:hover {
	background: var(--ag-black);
	color: var(--ag-gold-light);
	transform: scale(1.08);
}

.ag-carousel__nav:disabled { opacity: 0.3; pointer-events: none; }

@media (max-width: 700px) {
	.ag-carousel__nav-wrap { display: none; }
}

.ag-cat-card {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	border-radius: var(--ag-r-lg);
	overflow: hidden;
	color: var(--ag-on-dark);
	background: radial-gradient(120% 90% at 50% 24%, #ffffff, var(--ag-paper) 78%);
	border: 1px solid var(--ag-line-dark);
	isolation: isolate;
	transition: transform 0.5s var(--ag-ease), box-shadow 0.5s var(--ag-ease), border-color 0.5s var(--ag-ease);
}

/* product photo as the card background */
.ag-cat-card__img {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.ag-cat-card__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 14% 14% 38%;
	mix-blend-mode: multiply;
	transition: transform 0.7s var(--ag-ease);
}

/* doodle texture + dark footer veil for legibility */
.ag-cat-card__veil {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(to top, var(--ag-black) 0%, rgba(10, 10, 11, 0.82) 16%, rgba(10, 10, 11, 0.12) 40%, transparent 54%);
}

.ag-cat-card__body {
	position: absolute;
	inset-inline: 0;
	inset-block-end: 0;
	z-index: 2;
	padding: 1.2rem 1.3rem 1.3rem;
}

.ag-cat-card:hover {
	transform: translateY(-8px);
	box-shadow: var(--ag-sh-3);
	border-color: rgba(200, 145, 30, 0.45);
}

.ag-cat-card:hover .ag-cat-card__img img { transform: scale(1.07); }

/* small gold department icon chip */
.ag-cat-card__ico {
	position: absolute;
	inset-block-start: 1rem;
	inset-inline-start: 1rem;
	z-index: 3;
	width: 42px;
	height: 42px;
	border-radius: 12px;
	background: var(--ag-gold-grad);
	box-shadow: var(--ag-sh-gold);
	transition: transform 0.5s var(--ag-spring);
}

.ag-cat-card:hover .ag-cat-card__ico { transform: scale(1.08) rotate(-6deg); }

.ag-cat-card__name {
	font-family: var(--ag-font-display);
	font-size: var(--ag-fs-3);
	font-weight: 800;
	margin: 0;
	color: #fff;
}

.ag-cat-card__name .en { display: block; font-size: 0.46em; font-weight: 600; color: var(--ag-gold-light); letter-spacing: 0.12em; text-transform: uppercase; }

.ag-cat-card__count {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	font-size: var(--ag-fs-0);
	color: var(--ag-gold-light);
	margin-top: 0.5rem;
}

.ag-cat-card__count::after {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: var(--ag-ico-arrow) center/contain no-repeat;
	mask: var(--ag-ico-arrow) center/contain no-repeat;
	transform: translateX(4px);
	opacity: 0;
	transition: transform 0.4s var(--ag-spring), opacity 0.4s;
}

html[dir="rtl"] .ag-cat-card__count::after { transform: scaleX(-1) translateX(4px); }

.ag-cat-card:hover .ag-cat-card__count::after { opacity: 1; transform: translateX(0); }
html[dir="rtl"] .ag-cat-card:hover .ag-cat-card__count::after { transform: scaleX(-1) translateX(0); }

/* legacy arrow element no longer used */
.ag-cat-card__arrow { display: none; }

/* ---------- PRODUCT GRID SECTION ---------- */
.ag-grid-section { position: relative; }

.ag-grid-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin-bottom: clamp(1.6rem, 3vw, 2.6rem);
}

.ag-load-more-wrap { display: grid; place-items: center; margin-top: 2.6rem; }
.ag-load-status { font-size: var(--ag-fs-0); color: var(--ag-fg-mute); margin-top: 0.8rem; }

/* ---------- CTA BAND (full-width) ---------- */
.ag-cta {
	position: relative;
	overflow: hidden;
	margin-block: clamp(3rem, 7vw, 6rem);
	padding-block: clamp(3.5rem, 8vw, 6.5rem);
	color: var(--ag-on-dark);
	background-color: #0b0b0d;
	background-image:
		linear-gradient(115deg, rgba(10, 10, 12, 0.82) 0%, rgba(14, 13, 10, 0.55) 50%, rgba(18, 15, 10, 0.7) 100%),
		url("../images/wholesale-kitchen.webp");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	isolation: isolate;
}

.ag-cta__mesh {
	position: absolute;
	inset: 0;
	z-index: -2;
	background:
		radial-gradient(48% 70% at 88% 8%, rgba(212, 160, 40, 0.55), transparent 60%),
		radial-gradient(42% 60% at 4% 96%, rgba(236, 199, 102, 0.22), transparent 60%);
}

.ag-cta__pattern {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: url("../images/generated/doodle-pattern.svg") center/360px;
	opacity: 0.06;
	mix-blend-mode: screen;
}

.ag-cta__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.25fr 0.85fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}

.ag-cta__eyebrow { color: var(--ag-gold-light); }
.ag-cta__title { font-size: var(--ag-fs-6); line-height: 1.04; margin-block: 0.6rem 1.2rem; }
.ag-cta__text {
	font-size: var(--ag-fs-2);
	color: var(--ag-on-dark-soft);
	max-width: 48ch;
	margin-bottom: 2.4rem;
}
.ag-cta__actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.ag-cta__actions .ag-btn { white-space: nowrap; }

/* Keep the two CTA buttons on one line on small screens by shrinking them. */
@media (max-width: 640px) {
	.ag-cta__actions { flex-wrap: nowrap; gap: 0.6rem; }
	.ag-cta__actions .ag-btn,
	.ag-cta__actions .ag-btn--lg {
		flex: 1 1 0;
		min-width: 0;
		padding: 0.82em 1em;
		font-size: var(--ag-fs-0);
	}
}

.ag-cta__features { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.ag-cta__feature {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.3rem;
	border-radius: var(--ag-r-lg);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.09);
	backdrop-filter: blur(6px);
	transition: transform 0.4s var(--ag-spring), border-color 0.4s var(--ag-ease), background 0.4s var(--ag-ease);
}
.ag-cta__feature:hover {
	transform: translateY(-4px);
	border-color: rgba(236, 199, 102, 0.4);
	background: rgba(255, 255, 255, 0.07);
}
.ag-cta__feature .ag-trust__ico { width: 44px; height: 44px; border-radius: 12px; }
.ag-cta__feature .ag-trust__ico::before { width: 22px; height: 22px; }
.ag-cta__feature strong { display: block; font-size: var(--ag-fs-1); font-weight: 700; }
.ag-cta__feature span { color: var(--ag-on-dark-soft); font-size: var(--ag-fs-0); }

/* large button modifier */
.ag-btn--lg { padding: 1.1em 2.3em; font-size: var(--ag-fs-2); }

@media (max-width: 860px) {
	.ag-cta__inner { grid-template-columns: 1fr; }
}

/* ---------- BRAND STORY ---------- */
.ag-story {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}

@media (max-width: 860px) { .ag-story { grid-template-columns: 1fr; } }

.ag-story__visual {
	position: relative;
	aspect-ratio: 1;
	border-radius: var(--ag-r-xl);
	overflow: hidden;
	display: grid;
	place-items: center;
	background: radial-gradient(120% 120% at 30% 20%, #fff, var(--ag-paper) 75%);
	box-shadow: var(--ag-sh-2);
	border: 1px solid var(--ag-line-dark);
}

/* faint kitchen-doodle texture behind the mark */
.ag-story__visual::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url("../images/generated/doodle-pattern.svg");
	background-size: 320px;
	opacity: 0.05;
	mix-blend-mode: multiply;
}

.ag-story__glow {
	position: absolute;
	width: 78%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(200, 145, 30, 0.28), transparent 65%);
	filter: blur(10px);
}

.ag-story__logo {
	position: relative;
	z-index: 2;
	width: clamp(180px, 52%, 340px);
	height: auto;
	filter: drop-shadow(0 24px 36px rgba(20, 16, 4, 0.22));
	animation: ag-float 5.5s ease-in-out infinite;
}

.ag-story__ring {
	position: absolute;
	z-index: 1;
	inset-block-end: 14%;
	width: 64%;
	height: 16%;
	border-radius: 50%;
	border: 2px solid transparent;
	border-top-color: var(--ag-gold);
	border-bottom-color: rgba(200, 145, 30, 0.25);
	transform: rotateX(70deg);
	opacity: 0.7;
}

.ag-story__badges { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.6rem; }

/* ---------- FOOTER ---------- */
.ag-site-footer {
	position: relative;
	background: var(--ag-black);
	color: var(--ag-on-dark);
	padding-block: clamp(3rem, 6vw, 5rem) 2rem;
	margin-top: clamp(3rem, 8vw, 7rem);
}

.ag-site-footer__wave {
	position: absolute;
	inset-block-start: -1px;
	inset-inline: 0;
	transform: translateY(-99%);
	color: var(--ag-black);
	line-height: 0;
}

.ag-site-footer__wave svg { width: 100%; height: clamp(40px, 6vw, 90px); display: block; }

.ag-footer-inner {
	display: grid;
	grid-template-columns: 1.7fr 1fr 1fr 1fr;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}

/* let the 3 link columns sit directly in the footer grid (even distribution) */
.ag-footer-columns { display: contents; }

.ag-footer-brand img { height: 88px; width: auto; margin-bottom: 1.2rem; }
.ag-footer-brand p { color: var(--ag-on-dark-soft); max-width: 40ch; }

.ag-footer-social { display: flex; gap: 0.6rem; margin-top: 1.4rem; }

@media (max-width: 860px) {
	.ag-footer-inner { grid-template-columns: 1fr 1fr 1fr; }
	.ag-footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 520px) {
	.ag-footer-inner { grid-template-columns: 1fr 1fr; }
}

.ag-footer-columns h3 {
	font-size: var(--ag-fs-1);
	color: var(--ag-gold-light);
	margin-bottom: 1rem;
	letter-spacing: 0.04em;
}

.ag-footer-columns a,
.ag-footer-columns span {
	display: flex;
	align-items: center;
	gap: 0.5em;
	color: var(--ag-on-dark-soft);
	font-size: var(--ag-fs-0);
	padding-block: 0.32rem;
	transition: color 0.3s, transform 0.3s;
}

.ag-footer-columns a:hover { color: var(--ag-gold-light); transform: translateX(-4px); }
html[dir="ltr"] .ag-footer-columns a:hover { transform: translateX(4px); }

.ag-footer-bottom {
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.5rem;
	border-top: 1px solid var(--ag-line);
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	font-size: var(--ag-fs-0);
	color: var(--ag-on-dark-soft);
}

/* ============================================================
   WooCommerce
   ============================================================ */
.ag-woo-page { min-height: 60vh; }
.ag-woo-pad { padding-top: var(--ag-header-h); }

.ag-shop-hero {
	position: relative;
	padding-block: calc(var(--ag-header-h) + clamp(1rem, 3vw, 2.5rem)) clamp(2rem, 4vw, 3rem);
	background-color: #0a0a0b;
	background-image:
		linear-gradient(90deg, rgba(10,10,11,0.45) 0%, rgba(10,10,11,0.74) 55%, rgba(10,10,11,0.92) 100%),
		url("../images/banner-kitchen.webp");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center 42%;
	color: var(--ag-on-dark);
	overflow: hidden;
}

/* gold accent wave along the bottom edge, echoing the PDF brand page */
.ag-shop-hero::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	height: 4px;
	background: linear-gradient(90deg, transparent, var(--ag-gold) 20%, var(--ag-gold-light, #e6b954) 50%, var(--ag-gold) 80%, transparent);
	z-index: 3;
}

.ag-shop-hero__inner { position: relative; z-index: 2; }
.ag-shop-hero h1 { font-size: var(--ag-fs-5); margin-bottom: 0.5rem; }
.ag-shop-hero p { color: var(--ag-on-dark-soft); font-size: var(--ag-fs-2); }

.ag-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	font-size: var(--ag-fs-0);
	color: var(--ag-on-dark-soft);
	margin-bottom: 1rem;
}
.ag-breadcrumb a:hover { color: var(--ag-gold-light); }

.ag-shop-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
	padding-block: clamp(2rem, 4vw, 3.5rem);
}

@media (max-width: 900px) { .ag-shop-layout { grid-template-columns: minmax(0, 1fr); } }

.ag-shop-content { min-width: 0; }

.ag-shop-sidebar {
	position: static;
	display: grid;
	gap: 1.4rem;
	min-width: 0;
}

.ag-filter-card {
	background: var(--ag-white);
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r);
	padding: 1.2rem 1.3rem;
}

.ag-filter-card h3 { font-size: var(--ag-fs-1); margin-bottom: 0.8rem; }

/* collapsible department filter */
.ag-filter-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	padding: 0;
	background: none;
	border: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
	text-align: start;
}
.ag-filter-toggle h3 { margin: 0; }
.ag-filter-chevron {
	flex-shrink: 0;
	width: 9px;
	height: 9px;
	margin-block-end: 3px;
	border-right: 2px solid var(--ag-fg-mute);
	border-bottom: 2px solid var(--ag-fg-mute);
	transform: rotate(45deg);
	transition: transform 0.3s var(--ag-ease);
}
.ag-filter-card--collapsible.is-open .ag-filter-chevron {
	transform: rotate(-135deg);
	margin-block-end: -3px;
}

@media (max-width: 900px) {
	.ag-filter-card--collapsible .ag-filter-toggle h3 { margin-bottom: 0; }
	.ag-filter-card--collapsible .ag-filter-list { display: none; margin-block-start: 1rem; }
	.ag-filter-card--collapsible.is-open .ag-filter-list { display: grid; }
}
@media (min-width: 901px) {
	.ag-filter-toggle { pointer-events: none; margin-bottom: 0.8rem; }
	.ag-filter-chevron { display: none; }
}

.ag-filter-list { display: grid; gap: 0.15rem; }
.ag-filter-list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.45em 0.7em;
	border-radius: 10px;
	font-size: var(--ag-fs-0);
	transition: background 0.25s, color 0.25s;
}
.ag-filter-list a:hover, .ag-filter-list a.is-active { background: var(--ag-paper); color: var(--ag-gold-deep); }
.ag-filter-list a span { color: var(--ag-fg-mute); font-size: 0.85em; }

.ag-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.4rem;
}
.ag-result-count { font-size: var(--ag-fs-0); color: var(--ag-fg-mute); }
.ag-shop-toolbar .woocommerce-ordering select,
.ag-orderby {
	font: inherit;
	font-size: var(--ag-fs-0);
	padding: 0.6em 1em;
	border-radius: var(--ag-r-pill);
	border: 1px solid var(--ag-line-dark);
	background: var(--ag-white);
}

.woocommerce-pagination ul,
.ag-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	list-style: none;
	padding: 0;
	margin: 2.5rem 0 0;
	justify-content: center;
}
.woocommerce-pagination a, .woocommerce-pagination span,
.ag-pagination a, .ag-pagination span {
	display: grid;
	place-items: center;
	min-width: 44px;
	height: 44px;
	border-radius: 12px;
	border: 1px solid var(--ag-line-dark);
	background: var(--ag-white);
	font-weight: 600;
}
.woocommerce-pagination .current,
.ag-pagination .current { background: var(--ag-black); color: var(--ag-gold-light); border-color: var(--ag-black); }

/* Single product */
.ag-single {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	padding-block: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}
@media (max-width: 860px) { .ag-single { grid-template-columns: 1fr; } }

.ag-single__media {
	position: relative;
	aspect-ratio: 1;
	border-radius: var(--ag-r-xl);
	overflow: hidden;
	background: radial-gradient(120% 120% at 35% 20%, #fff, var(--ag-paper) 70%);
	box-shadow: var(--ag-sh-2);
	position: sticky;
	top: calc(var(--ag-header-h) + 1rem);
}
@media (max-width: 860px) { .ag-single__media { position: relative; top: auto; } }
.ag-single__media canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.ag-single__art { position: absolute; inset: 0; }
.ag-single__art .ag-art-plate { width: 56%; }
.ag-single__art .ag-art-tool { width: 26%; }

.ag-single__cat { color: var(--ag-gold-deep); font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; font-size: var(--ag-fs-0); }
.ag-single__title { font-size: var(--ag-fs-5); margin: 0.4rem 0 0.8rem; }
.ag-single__price { font-family: var(--ag-font-display); font-weight: 800; font-size: var(--ag-fs-4); margin-bottom: 1.2rem; }
.ag-single__price del { color: var(--ag-fg-mute); font-size: 0.55em; margin-inline-start: 0.5em; }
.ag-single__price .ag-save { font-size: 0.5em; color: var(--ag-ok); margin-inline-start: 0.6em; }

.ag-single__meta-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 0.8rem;
	margin: 1.5rem 0;
}
.ag-single__meta-item {
	background: var(--ag-white);
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-sm);
	padding: 0.9rem 1rem;
}
.ag-single__meta-item dt { font-size: var(--ag-fs-0); color: var(--ag-fg-mute); }
.ag-single__meta-item dd { margin: 0.2rem 0 0; font-weight: 700; }

.ag-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-pill);
	overflow: hidden;
	background: var(--ag-white);
}
.ag-qty button { width: 44px; height: 48px; border: 0; background: none; font-size: 1.3rem; cursor: pointer; color: var(--ag-fg); }
.ag-qty button:hover { color: var(--ag-gold-deep); }
.ag-qty input { width: 52px; height: 48px; border: 0; text-align: center; font: inherit; font-weight: 700; background: none; }
.ag-single__buy { display: flex; flex-wrap: wrap; gap: 0.8rem; align-items: center; margin: 1.4rem 0; }

/* Variable-product variations form */
.ag-single__variations { margin: 1.4rem 0; }
.ag-single__variations table.variations { width: 100%; border: 0; margin: 0 0 1.2rem; }
.ag-single__variations table.variations th,
.ag-single__variations table.variations td { display: block; text-align: start; padding: 0; border: 0; }
.ag-single__variations table.variations th.label { font-weight: 700; margin-bottom: 0.45rem; font-size: var(--ag-fs-1); }
.ag-single__variations table.variations td.value select {
	width: 100%;
	padding: 0.85em 1.1em;
	border-radius: var(--ag-r-sm);
	border: 1px solid var(--ag-line-dark);
	background: var(--ag-white);
	font: inherit;
}
.ag-single__variations .reset_variations {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: var(--ag-fs-0);
	color: var(--ag-fg-mute);
}
.ag-single__variations .woocommerce-variation-price { margin: 0.4rem 0 1rem; font-size: var(--ag-fs-3); font-weight: 800; }
.ag-single__variations .woocommerce-variation-price .price { color: var(--ag-gold-deep); }
.ag-single__variations .woocommerce-variation-availability { margin-bottom: 0.8rem; color: var(--ag-fg-soft); }
.ag-single__variations .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem; }
.ag-single__variations .woocommerce-variation-add-to-cart .quantity { flex: 0 0 auto; }
.ag-single__variations .quantity input.qty {
	width: 84px;
	height: 48px;
	text-align: center;
	font: inherit;
	font-weight: 700;
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-sm);
	background: var(--ag-white);
}
.ag-single__variations .single_add_to_cart_button { flex: 1 1 auto; min-width: 200px; }
.ag-single__variations .woocommerce-variation-add-to-cart.disabled .single_add_to_cart_button { opacity: 0.5; }

/* Cart / Checkout / Account shells */
.ag-account-wrap, .ag-cart-wrap, .ag-checkout-wrap {
	padding-block: clamp(2rem, 5vw, 4rem);
}
.ag-page-hero {
	padding-block: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 3vw, 2.5rem);
	text-align: center;
}
.ag-page-hero h1 { font-size: var(--ag-fs-5); }
.ag-page-hero p { color: var(--ag-fg-soft); font-size: var(--ag-fs-2); }

/* Generic WooCommerce element polish */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: var(--ag-r);
	border: 1px solid var(--ag-line-dark);
	border-inline-start: 4px solid var(--ag-gold);
	background: var(--ag-white);
	padding: 1rem 1.3rem;
	list-style: none;
}
.woocommerce-error { border-inline-start-color: var(--ag-bad); }

table.cart, .woocommerce table.shop_table {
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	width: 100%;
	background: var(--ag-white);
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 1rem; border-bottom: 1px solid var(--ag-line-dark); }

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.ag-field {
	width: 100%;
	padding: 0.85em 1.1em;
	border-radius: var(--ag-r-sm);
	border: 1px solid var(--ag-line-dark);
	background: var(--ag-white);
	font: inherit;
}
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button,
.woocommerce input.button {
	background: var(--ag-gold-grad);
	color: var(--ag-black);
	font-weight: 700;
	border: 0;
	border-radius: var(--ag-r-pill);
	padding: 0.85em 1.8em;
	cursor: pointer;
	transition: transform 0.3s var(--ag-spring), box-shadow 0.3s;
}
.woocommerce #respond input#submit:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover { transform: translateY(-2px); box-shadow: var(--ag-sh-gold); }
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--ag-black); color: var(--ag-gold-light); }

/* "Update cart" = secondary outline button (distinct from the gold primaries),
   with a clean disabled state instead of the washed-out gradient. */
.woocommerce .cart .button[name="update_cart"],
.woocommerce button.button[name="update_cart"] {
	background: transparent;
	color: var(--ag-fg);
	border: 1.5px solid var(--ag-line-dark);
	box-shadow: none;
}
.woocommerce .cart .button[name="update_cart"]:hover:not(:disabled):not([disabled]) {
	background: var(--ag-black);
	color: var(--ag-gold-light);
	border-color: var(--ag-black);
	transform: translateY(-2px);
}
.woocommerce .cart .button[name="update_cart"]:disabled,
.woocommerce .cart .button[name="update_cart"][disabled] {
	opacity: 0.4;
	cursor: not-allowed;
	transform: none;
}

/* Proceed-to-checkout: full-width block below the totals with clear spacing */
.woocommerce .cart_totals { overflow: visible; }
.woocommerce .wc-proceed-to-checkout { padding: 1.3rem 0 0; }
.woocommerce .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	margin: 0;
}

/* Cart: items + totals side by side (2-column) on desktop */
@media (min-width: 901px) {
	.woocommerce-cart .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
		gap: clamp(1.5rem, 3vw, 2.5rem);
		align-items: start;
	}
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
	.woocommerce-cart .woocommerce-cart-form { grid-column: 1; margin: 0; }
	.woocommerce-cart .cart-collaterals {
		grid-column: 2;
		width: auto;
		margin: 0;
		position: sticky;
		top: calc(var(--ag-header-h) + 1rem);
	}
	.woocommerce-cart .cart-collaterals .cart_totals {
		width: 100%;
		background: var(--ag-white);
		border: 1px solid var(--ag-line-dark);
		border-radius: var(--ag-r-lg);
		padding: 1.6rem;
	}
	.woocommerce-cart .cart_totals > h2 { font-size: var(--ag-fs-3); margin: 0 0 1rem; }
	.woocommerce-cart .cart_totals table { border: 0; margin: 0; }
	.woocommerce-cart .cart_totals table th,
	.woocommerce-cart .cart_totals table td { padding: 0.7rem 0.2rem; border-bottom: 1px solid var(--ag-line); text-align: start; }
	.woocommerce-cart .cart_totals .order-total th,
	.woocommerce-cart .cart_totals .order-total td { border-bottom: 0; font-size: var(--ag-fs-2); }
	.woocommerce-cart .cart_totals .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
	.woocommerce-cart .cart_totals .shipping-calculator-button { color: var(--ag-gold-deep); }
}

.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 0.3rem; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding: 0.7em 1.1em; border-radius: var(--ag-r-sm); background: var(--ag-white); border: 1px solid var(--ag-line-dark);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--ag-black); color: var(--ag-gold-light); }
/* Dashboard grid only when logged in (nav + content). */
.logged-in.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px 1fr; gap: 2rem; }
@media (max-width: 760px) { .logged-in.woocommerce-account .woocommerce { grid-template-columns: 1fr; } }

/* ---------- Login / Register (logged-out) — single toggling box ---------- */
.woocommerce-account .woocommerce { width: min(100% - 2 * var(--ag-gutter), var(--ag-maxw)); margin-inline: auto; }
#customer_login.u-columns {
	display: block;
	max-width: 460px;
	margin-inline: auto;
}
#customer_login .u-column1,
#customer_login .u-column2 {
	width: auto;
	float: none;
	margin: 0;
	background: var(--ag-white);
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-lg);
	padding: clamp(1.5rem, 4vw, 2.5rem);
}
/* register hidden by default; JS toggles the ag-show-register class */
#customer_login .u-column2 { display: none; }
#customer_login.ag-show-register .u-column1 { display: none; }
#customer_login.ag-show-register .u-column2 { display: block; }

/* toggle button (switch between login and register) */
.ag-acct-switch {
	display: block;
	width: 100%;
	margin-top: 1.2rem;
	padding: 0.85em 1em;
	background: transparent;
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-pill);
	color: var(--ag-fg);
	font: inherit;
	font-size: var(--ag-fs-0);
	cursor: pointer;
	text-align: center;
	transition: border-color 0.3s, color 0.3s, background 0.3s;
}
.ag-acct-switch:hover { border-color: var(--ag-gold); background: var(--ag-paper); }
.ag-acct-switch strong { color: var(--ag-gold-deep); margin-inline-start: 0.3rem; }
#customer_login h2 {
	font-size: var(--ag-fs-3);
	margin: 0 0 1.4rem;
	padding-bottom: 0.7rem;
	border-bottom: 2px solid var(--ag-gold);
	display: inline-block;
}
.woocommerce-form-login,
.woocommerce-form-register { display: grid; gap: 1.1rem; }
.woocommerce-form .form-row { display: block; width: 100%; margin: 0; padding: 0; float: none; }
.woocommerce-form-row > label,
.woocommerce-form .form-row > label {
	display: block;
	margin-bottom: 0.4rem;
	font-weight: 600;
	font-size: var(--ag-fs-0);
}
.woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.9rem;
	font-weight: 500 !important;
	cursor: pointer;
}
.woocommerce-form-login__rememberme input { width: auto; margin: 0; }
.woocommerce-form-login__submit,
.woocommerce-form-register__submit { display: block; width: 100%; }
.woocommerce-LostPassword { margin: 0.7rem 0 0; font-size: var(--ag-fs-0); }
.woocommerce-LostPassword a { color: var(--ag-gold-deep); }
.woocommerce-privacy-policy-text p { font-size: 0.8rem; color: var(--ag-fg-mute); margin: 0; }

/* Cart & checkout: WooCommerce replaces page content on block themes (no hero),
   so clear the fixed header and constrain width directly. */
.woocommerce-cart .wp-site-blocks,
.woocommerce-checkout .wp-site-blocks {
	padding-top: calc(var(--ag-header-h) + 1.5rem);
	padding-bottom: 3rem;
}
/* The page content already wraps the shortcode in a guttered alignwide group,
   so the .woocommerce wrapper just fills it (avoids a second gutter). */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce { width: 100%; margin-inline: auto; }
.woocommerce-cart h1.entry-title,
.woocommerce-checkout h1.entry-title {
	width: min(100% - 2 * var(--ag-gutter), var(--ag-maxw));
	margin-inline: auto;
	font-size: var(--ag-fs-5);
}

/* ---------- WooCommerce mobile: stack cart/order tables into cards ---------- */
@media (max-width: 640px) {
	.woocommerce table.shop_table_responsive thead,
	.woocommerce-cart table.cart thead { display: none; }

	.woocommerce table.shop_table_responsive tr,
	.woocommerce-cart table.cart tbody tr {
		display: block;
		padding: 0.6rem 0.4rem;
		border-bottom: 1px solid var(--ag-line-dark);
	}
	.woocommerce table.shop_table_responsive tr:last-child { border-bottom: 0; }

	.woocommerce table.shop_table_responsive td,
	.woocommerce-cart table.cart tbody td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		width: auto !important;
		text-align: start;
		border: 0;
		padding: 0.5rem 0.8rem;
	}
	.woocommerce table.shop_table_responsive td::before {
		content: attr(data-title);
		font-weight: 700;
		color: var(--ag-fg);
		flex: 0 0 auto;
	}
	/* product image + remove: no label, sensible alignment */
	.woocommerce-cart table.cart td.product-thumbnail {
		justify-content: center;
		padding-block: 0.8rem;
	}
	.woocommerce-cart table.cart td.product-thumbnail::before { display: none; }
	.woocommerce-cart table.cart td.product-thumbnail img { width: 96px; height: auto; }
	.woocommerce-cart table.cart td.product-remove { justify-content: flex-end; }
	.woocommerce-cart table.cart td.product-remove::before { display: none; }
	.woocommerce-cart table.cart td.product-name { flex-wrap: wrap; }
	.woocommerce table.shop_table_responsive td .quantity { margin-inline-start: auto; }

	/* coupon + update-cart actions stack full width */
	.woocommerce-cart .cart .actions { display: flex; flex-direction: column; gap: 0.7rem; padding: 1rem 0.4rem; }
	.woocommerce-cart .cart .actions .coupon { display: flex; gap: 0.5rem; width: 100%; float: none; }
	.woocommerce-cart .cart .actions .coupon .input-text { flex: 1 1 auto; min-width: 0; width: auto; }
	.woocommerce-cart .cart .actions .button,
	.woocommerce-cart .cart .actions .coupon .button { width: 100%; white-space: nowrap; }
	.woocommerce-cart .cart .actions .coupon .button { width: auto; flex: 0 0 auto; }

	/* cart totals + checkout button full width */
	.cart-collaterals, .cart_totals { width: 100% !important; float: none !important; }
	.wc-proceed-to-checkout .checkout-button { width: 100%; text-align: center; }

	/* totals tables already carry a <th> label — render as a simple row,
	   suppress the duplicate data-title label the generic rule would add.
	   Extra specificity so these win over the generic stacking rule above. */
	.woocommerce .cart_totals table.shop_table_responsive tr,
	.woocommerce table.woocommerce-checkout-review-order-table tfoot tr {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.7rem 0.8rem;
	}
	.woocommerce .cart_totals table.shop_table_responsive th,
	.woocommerce .cart_totals table.shop_table_responsive td,
	.woocommerce table.woocommerce-checkout-review-order-table tfoot th,
	.woocommerce table.woocommerce-checkout-review-order-table tfoot td {
		display: block;
		width: auto !important;
		padding: 0;
		border: 0;
		text-align: start;
	}
	.woocommerce .cart_totals table.shop_table_responsive td::before,
	.woocommerce table.woocommerce-checkout-review-order-table tfoot td::before { display: none; }
}

/* ---------- Checkout: 2-column (billing form + sticky order summary) ---------- */
.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	grid-template-areas:
		"details heading"
		"details review";
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}
.woocommerce-checkout #customer_details { grid-area: details; min-width: 0; }
.woocommerce-checkout #order_review_heading { grid-area: heading; margin: 0; font-size: var(--ag-fs-3); }
.woocommerce-checkout #order_review {
	grid-area: review;
	min-width: 0;
	position: sticky;
	top: calc(var(--ag-header-h) + 1rem);
	background: var(--ag-white);
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-lg);
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
}
.woocommerce-checkout #customer_details .col2-set { display: block; }
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	width: 100%;
	float: none;
	background: var(--ag-white);
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-lg);
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
	margin-bottom: 1.5rem;
}
.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3,
#ship-to-different-address { font-size: var(--ag-fs-2); margin: 0 0 1rem; }

/* billing name fields side by side */
.woocommerce-billing-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0.2rem 1.2rem; }
.woocommerce-billing-fields__field-wrapper > .form-row { margin: 0 0 0.9rem; }
.woocommerce-billing-fields__field-wrapper > .form-row-wide,
.woocommerce-billing-fields__field-wrapper > #billing_country_field,
.woocommerce-billing-fields__field-wrapper > #billing_company_field,
.woocommerce-billing-fields__field-wrapper > #billing_address_1_field,
.woocommerce-billing-fields__field-wrapper > #billing_address_2_field { grid-column: 1 / -1; }
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce form .form-row-wide { width: auto; float: none; }

/* order review table inside the summary card */
.woocommerce-checkout .woocommerce-checkout-review-order-table { border: 0; background: transparent; }
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td { padding: 0.7rem 0.3rem; border-bottom: 1px solid var(--ag-line); }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total td { font-size: var(--ag-fs-2); border-bottom: 0; padding-top: 1rem; }
.woocommerce-checkout #shipping_method,
.woocommerce-checkout .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout #order_review .cart-subtotal td,
.woocommerce-checkout #order_review .tax-rate td,
.woocommerce-checkout #order_review .shipping td { text-align: start; }

/* payment box */
.woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { border: 0; padding: 0; margin: 0.6rem 0; }
.woocommerce-checkout #payment div.payment_box { background: var(--ag-paper); margin-top: 0.6rem; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--ag-paper); }
.woocommerce-checkout #payment .form-row.place-order { padding: 1rem 0 0; margin: 0; }
.woocommerce-checkout #place_order { width: 100%; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: 0.78rem; color: var(--ag-fg-mute); }

/* ---------- WooCommerce mobile: stack checkout into one column ---------- */
@media (max-width: 900px) {
	.woocommerce-checkout form.checkout.woocommerce-checkout {
		grid-template-columns: 1fr;
		grid-template-areas: "details" "heading" "review";
	}
	.woocommerce-checkout #order_review { position: static; }
}
@media (max-width: 780px) {
	.woocommerce .col2-set,
	.woocommerce-page .col2-set { display: block; }
	.woocommerce .col2-set .col-1,
	.woocommerce .col2-set .col-2 { width: 100%; float: none; margin-bottom: 1.5rem; }
}
@media (max-width: 640px) {
	.woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { width: 100%; float: none; }
}

/* ---------- ABOUT / CONTACT / TERMS pages ---------- */
.ag-prose { max-width: 760px; margin-inline: auto; }
.ag-prose h1 { font-size: var(--ag-fs-5); }
.ag-prose h2 { font-size: var(--ag-fs-3); margin-top: 2rem; }
.ag-prose p { color: var(--ag-fg-soft); }

.ag-contact {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(2rem, 5vw, 4rem);
	padding-block: clamp(2rem, 4vw, 3.5rem);
}
@media (max-width: 760px) { .ag-contact { grid-template-columns: 1fr; } }

.ag-contact__cards { display: grid; gap: 1rem; }
.ag-contact__card {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.3rem;
	background: var(--ag-white);
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r);
	transition: transform 0.4s var(--ag-ease), box-shadow 0.4s;
}
.ag-contact__card:hover { transform: translateY(-4px); box-shadow: var(--ag-sh-2); }
.ag-contact__ico {
	flex-shrink: 0; width: 52px; height: 52px; border-radius: 14px;
	background: var(--ag-gold-grad); display: grid; place-items: center;
}
.ag-contact__ico::before { content: ""; width: 26px; height: 26px; background: var(--ag-black); }
.ag-contact__ico--phone::before { -webkit-mask: var(--ag-ico-phone) center/contain no-repeat; mask: var(--ag-ico-phone) center/contain no-repeat; }
.ag-contact__ico--mail::before { -webkit-mask: var(--ag-ico-mail) center/contain no-repeat; mask: var(--ag-ico-mail) center/contain no-repeat; }
.ag-contact__ico--pin::before { -webkit-mask: var(--ag-ico-pin) center/contain no-repeat; mask: var(--ag-ico-pin) center/contain no-repeat; }
.ag-contact__card h3 { margin: 0 0 0.2rem; font-size: var(--ag-fs-1); }
.ag-contact__card p, .ag-contact__card a { margin: 0; color: var(--ag-fg-soft); font-size: var(--ag-fs-0); }

.ag-contact__map {
	border-radius: var(--ag-r-lg);
	overflow: hidden;
	min-height: 320px;
	border: 1px solid var(--ag-line-dark);
	background: var(--ag-paper);
}
.ag-contact__map iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }

/* ============================================================
   v2.10 — ratings · card share/favorite · single share · shop
   filters · floating WhatsApp · toasts · phone field · mobile
   2-col grid. See functions.php + ag-app.js.
   ============================================================ */

/* ---------- Star ratings ---------- */
.ag-stars { display: inline-flex; align-items: center; gap: 0.4rem; direction: ltr; font-size: 0.82rem; line-height: 1; }
.ag-stars__track {
	position: relative; display: block; width: 5em; height: 1em;
	background: var(--ag-line-dark);
	-webkit-mask: var(--ag-ico-star) left center / 1em 1em repeat-x;
	mask: var(--ag-ico-star) left center / 1em 1em repeat-x;
}
.ag-stars__fill { position: absolute; inset: 0 auto 0 0; height: 100%; width: 0; background: linear-gradient(90deg, #e0a92c, #c8911e); }
.ag-stars__meta { color: var(--ag-fg-soft); font-weight: 700; }
.ag-stars__count { color: var(--ag-fg-mute); font-weight: 400; }
.ag-stars--compact { font-size: 0.68rem; gap: 0; }
.ag-product-body .ag-stars { margin: 0.1rem 0 0.2rem; }
.ag-single__rating { margin: 0.2rem 0 0.4rem; }
.ag-single__rating .ag-stars { font-size: 1rem; }

/* ---------- Card action buttons (favorite + share) ---------- */
.ag-card-actions { position: absolute; top: 0.6rem; inset-inline-end: 0.6rem; z-index: 4; display: flex; flex-direction: column; gap: 0.4rem; }
.ag-card-act {
	width: 38px; height: 38px; border-radius: 50%;
	display: grid; place-items: center; cursor: pointer;
	background: rgba(255, 255, 255, 0.94); border: 1px solid var(--ag-line-dark);
	color: var(--ag-fg-soft); box-shadow: var(--ag-sh-1);
	font-size: 17px; transition: transform 0.25s var(--ag-ease), color 0.25s, background 0.25s, opacity 0.25s;
	-webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.ag-card-act:hover { color: var(--ag-gold-deep); transform: translateY(-2px); }
.ag-card-act--fav.is-fav { color: #e0245e; }
.ag-card-act--fav.just-faved { animation: ag-fav-pop 0.5s var(--ag-ease); }
@keyframes ag-fav-pop { 0% { transform: scale(1); } 40% { transform: scale(1.35); } 100% { transform: scale(1); } }

/* Reveal card overlay actions on hover (desktop); always show on touch. */
.ag-product-card .ag-card-act { opacity: 0; transform: translateY(-4px); }
.ag-product-card:hover .ag-card-act,
.ag-product-card .ag-card-actions.is-share-open .ag-card-act { opacity: 1; transform: none; }
@media (hover: none) { .ag-product-card .ag-card-act { opacity: 1; transform: none; } }

/* Share popover */
.ag-share-pop {
	position: absolute; top: 0; inset-inline-end: calc(100% + 0.45rem);
	display: flex; gap: 0.3rem; padding: 0.35rem;
	background: #fff; border: 1px solid var(--ag-line-dark); border-radius: 999px; box-shadow: var(--ag-sh-2);
	opacity: 0; visibility: hidden; transform: translateX(6px) scale(0.95); transform-origin: center right;
	transition: opacity 0.25s, transform 0.25s, visibility 0.25s;
}
[dir="rtl"] .ag-share-pop { transform: translateX(-6px) scale(0.95); transform-origin: center left; }
.ag-card-actions.is-share-open .ag-share-pop { opacity: 1; visibility: visible; transform: none; }
.ag-share-net {
	width: 30px; height: 30px; border-radius: 50%; border: none; cursor: pointer;
	display: grid; place-items: center; color: #fff; font-size: 15px; text-decoration: none;
	transition: transform 0.2s var(--ag-ease); flex: 0 0 auto;
}
.ag-share-net:hover { transform: translateY(-2px) scale(1.08); }
.ag-share-net--whatsapp { background: #25d366; }
.ag-share-net--facebook { background: #1877f2; }
.ag-share-net--twitter { background: #000; }
.ag-share-net--telegram { background: #229ed9; }
.ag-share-net--pinterest { background: #e60023; }
.ag-share-net--email { background: #6b7280; }
.ag-share-net--copy { background: var(--ag-black); }

/* Add-to-cart AJAX states */
.ag-add-to-cart.is-loading { pointer-events: none; opacity: 0.65; }
.ag-add-to-cart.is-loading::before { animation: ag-spin 0.7s linear infinite; }
.ag-add-to-cart.is-added { background: var(--ag-ok); color: #fff; border-color: var(--ag-ok); }
@keyframes ag-spin { to { transform: rotate(360deg); } }

/* Cart icon bounce + count badge */
@keyframes ag-cart-bounce { 0% { transform: scale(1); } 30% { transform: scale(1.25); } 60% { transform: scale(0.92); } 100% { transform: scale(1); } }
.ag-cart-bounce { animation: ag-cart-bounce 0.5s var(--ag-ease); }

/* ---------- Single-product share bar ---------- */
.ag-single__share { display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; margin-top: 1.8rem; padding-top: 1.4rem; border-top: 1px solid var(--ag-line-dark); }
.ag-single__share-label { font-weight: 700; color: var(--ag-fg-soft); }
.ag-single__share-nets { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.ag-single__share-nets .ag-share-net { width: 40px; height: 40px; font-size: 18px; }
.ag-card-act.ag-single__fav { width: 40px; height: 40px; opacity: 1; transform: none; background: #fff; }
.ag-card-act.ag-single__fav.is-fav { color: #e0245e; border-color: #f4b8c8; }

/* ---------- Shop filters (price + rating) ---------- */
.ag-filter-form { margin-top: 1rem; }
.ag-filter-panel { display: grid; gap: 1.3rem; }
.ag-filter-group h4 { font-size: 0.95rem; margin: 0 0 0.55rem; color: var(--ag-fg); }
.ag-filter-opt, .ag-filter-rate { display: flex; align-items: center; gap: 0.55rem; padding: 0.28rem 0; cursor: pointer; font-size: 0.9rem; color: var(--ag-fg-soft); }
.ag-filter-opt input, .ag-filter-rate input { accent-color: var(--ag-gold-deep); flex: 0 0 auto; }
.ag-filter-rate .ag-stars { pointer-events: none; }
.ag-filter-rate__txt { color: var(--ag-fg-mute); font-size: 0.82rem; }
.ag-filter-range { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.7rem; }
.ag-filter-range input {
	width: 100%; min-width: 0; padding: 0.55rem 0.6rem; text-align: center;
	border: 1px solid var(--ag-line-dark); border-radius: var(--ag-r-sm); background: var(--ag-white); font: inherit;
}
.ag-filter-actions { display: flex; align-items: center; gap: 1rem; margin-top: 0.3rem; }
.ag-filter-clear { color: var(--ag-fg-mute); text-decoration: underline; font-size: 0.85rem; }
.ag-filter-clear:hover { color: var(--ag-gold-deep); }
@media (max-width: 900px) {
	.ag-filter-form .ag-filter-panel { display: none; margin-block-start: 1rem; }
	.ag-filter-form.is-open .ag-filter-panel { display: grid; }
}
@media (min-width: 901px) {
	.ag-filter-form .ag-filter-toggle { pointer-events: none; margin-bottom: 0.8rem; }
	.ag-filter-form .ag-filter-chevron { display: none; }
}

/* ---------- Floating WhatsApp button ---------- */
.ag-whatsapp-float {
	position: fixed; bottom: 1.2rem; inset-inline-start: 1.2rem; z-index: 60;
	display: inline-flex; align-items: center; gap: 0.55rem;
	background: #25d366; color: #fff; text-decoration: none; font-weight: 700;
	padding: 0.7rem 1rem; border-radius: 999px; box-shadow: 0 12px 30px -8px rgba(37, 211, 102, 0.6);
	transition: transform 0.25s var(--ag-ease), box-shadow 0.25s;
}
.ag-whatsapp-float:hover { transform: translateY(-3px) scale(1.03); color: #fff; }
.ag-whatsapp-float .ag-ico-whatsapp { font-size: 26px; }
.ag-whatsapp-float__label { font-size: 0.9rem; white-space: nowrap; }
.ag-whatsapp-float::after {
	content: ""; position: absolute; inset: 0; border-radius: inherit;
	box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5); animation: ag-wa-pulse 2.4s infinite;
}
@keyframes ag-wa-pulse { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.5); } 70% { box-shadow: 0 0 0 16px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); } }
@media (max-width: 600px) {
	.ag-whatsapp-float__label { display: none; }
	.ag-whatsapp-float { padding: 0.85rem; bottom: 1rem; inset-inline-start: 1rem; }
}
@media (prefers-reduced-motion: reduce) { .ag-whatsapp-float::after { animation: none; } }

/* ---------- Toasts ---------- */
.ag-toast-host { position: fixed; bottom: 1.2rem; inset-inline-end: 1.2rem; z-index: 90; display: flex; flex-direction: column; align-items: flex-end; gap: 0.5rem; pointer-events: none; }
.ag-toast {
	background: var(--ag-black); color: #fff; font-weight: 600; font-size: 0.9rem;
	padding: 0.7rem 1.1rem; border-radius: var(--ag-r-sm); box-shadow: var(--ag-sh-3);
	max-width: min(90vw, 320px); opacity: 0; transform: translateY(12px); transition: opacity 0.3s, transform 0.3s;
}
.ag-toast.is-in { opacity: 1; transform: none; }
.ag-toast--ok { background: #1f7a54; }
.ag-toast--err { background: var(--ag-bad); }

/* ---------- International phone field ---------- */
.ag-phone { position: relative; display: flex; align-items: stretch; background: #fff; border: 1px solid var(--ag-line-dark); border-radius: var(--ag-r-sm); }
.ag-phone__country { display: flex; align-items: center; gap: 0.35rem; padding: 0 0.7rem; border: none; border-inline-end: 1px solid var(--ag-line-dark); background: var(--ag-paper); cursor: pointer; font: inherit; border-start-start-radius: var(--ag-r-sm); border-end-start-radius: var(--ag-r-sm); }
.ag-phone__flag { font-size: 1.2rem; line-height: 1; }
.ag-phone__dial { color: var(--ag-fg-soft); font-size: 0.9rem; font-weight: 700; }
.ag-phone__carat { width: 0; height: 0; border-inline: 4px solid transparent; border-top: 5px solid var(--ag-fg-mute); }
.ag-phone__input.ag-phone__input { flex: 1; min-width: 0; border: none; border-radius: 0; box-shadow: none; background: transparent; direction: ltr; text-align: start; padding: 0.7rem 0.9rem; margin: 0; }
.ag-phone__input.ag-phone__input:focus { outline: none; box-shadow: none; }
.ag-phone:focus-within { border-color: var(--ag-gold); }
.ag-phone__list { position: absolute; top: calc(100% + 5px); inset-inline-start: 0; z-index: 50; width: min(340px, 92vw); max-height: 340px; overflow: hidden; display: none; flex-direction: column; padding: 0; background: #fff; border: 1px solid var(--ag-line-dark); border-radius: var(--ag-r-sm); box-shadow: var(--ag-sh-3); }
.ag-phone.is-open .ag-phone__list { display: flex; }
.ag-phone__search { flex: 0 0 auto; margin: 0.4rem; padding: 0.55rem 0.7rem; border: 1px solid var(--ag-line-dark); border-radius: var(--ag-r-sm); font: inherit; background: var(--ag-paper); }
.ag-phone__search:focus { outline: none; border-color: var(--ag-gold); }
.ag-phone__opts { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 0 0.3rem 0.3rem; }
.ag-phone__opt { display: flex; align-items: center; gap: 0.6rem; width: 100%; padding: 0.5rem 0.6rem; border: none; background: none; cursor: pointer; text-align: start; border-radius: var(--ag-r-sm); font: inherit; }
.ag-phone__opt:hover { background: var(--ag-paper); }
.ag-phone__optname { flex: 1; }
.ag-phone__err { position: absolute; top: 100%; inset-inline-start: 0; margin-top: 3px; color: var(--ag-bad); font-size: 0.8rem; }
.ag-phone.is-invalid { border-color: var(--ag-bad); }
.ag-phone.is-invalid:focus-within { border-color: var(--ag-bad); }

/* ---------- Contact WhatsApp card icon ---------- */
.ag-contact__ico--whatsapp::before { -webkit-mask: var(--ag-ico-whatsapp) center/contain no-repeat; mask: var(--ag-ico-whatsapp) center/contain no-repeat; }

/* ---------- Mobile: 2 products per row (shop + home grids) ---------- */
@media (max-width: 600px) {
	.ag-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
	.ag-product-body { padding: 0.65rem 0.7rem 0.8rem; gap: 0.3rem; }
	.ag-product-body h3 { font-size: 0.86rem; line-height: 1.35; }
	.ag-product-category { font-size: 0.68rem; }
	.ag-product-meta { font-size: 0.7rem; }
	.ag-product-price { font-size: 0.95rem; }
	.ag-product-bottom { gap: 0.5rem; }
	.ag-add-to-cart { width: 40px; height: 40px; flex: 0 0 auto; }
	.ag-card-act { width: 32px; height: 32px; font-size: 15px; }
	.ag-stars { font-size: 0.72rem; }
	.ag-single__share { gap: 0.6rem; }
}
@media (max-width: 380px) {
	.ag-product-body h3 { font-size: 0.8rem; }
}

/* ---------- Single product: description + specifications ---------- */
.ag-single__lead { color: var(--ag-fg-soft); line-height: 1.7; }
.ag-single__desc { padding-block: clamp(2rem, 4vw, 3.5rem); }
.ag-single__desc-tabs {
	background: var(--ag-white);
	border: 1px solid var(--ag-line-dark);
	border-radius: var(--ag-r-lg);
	padding: clamp(1.4rem, 3vw, 2.4rem);
}
.ag-single__desc-title {
	display: flex; align-items: center; gap: 0.6rem;
	font-family: var(--ag-font-head, inherit); font-size: var(--ag-fs-3); font-weight: 800;
	margin: 0 0 1.2rem; padding-bottom: 0.9rem; border-bottom: 2px solid var(--ag-line-dark);
}
.ag-single__desc-title .ag-ico-doc { color: var(--ag-gold-deep); font-size: 1.15em; }
.ag-single__desc-body { color: var(--ag-fg-soft); line-height: 1.9; font-size: 1.02rem; }
.ag-single__desc-body > *:first-child { margin-top: 0; }
.ag-single__desc-body p { margin: 0 0 1rem; }
.ag-single__desc-body ul, .ag-single__desc-body ol { margin: 0 0 1rem; padding-inline-start: 1.4rem; }
.ag-single__desc-body li { margin-bottom: 0.4rem; }
.ag-single__desc-subtitle { font-size: var(--ag-fs-2); font-weight: 700; margin: 1.8rem 0 0.8rem; }
.ag-single__specs { width: 100%; border-collapse: collapse; }
.ag-single__specs th, .ag-single__specs td { text-align: start; padding: 0.7rem 0.9rem; border: 1px solid var(--ag-line-dark); vertical-align: top; }
.ag-single__specs th { width: 34%; background: var(--ag-paper); font-weight: 700; color: var(--ag-fg); }
.ag-single__specs td { color: var(--ag-fg-soft); }
@media (max-width: 640px) {
	.ag-single__specs th { width: 42%; }
	.ag-single__desc-body { font-size: 0.96rem; }
}

/* Price on request (products with no price yet / no priced variation) */
.ag-price-request { font-weight: 700; color: var(--ag-gold-deep); font-size: 0.92em; }
.ag-product-price .ag-price-request { white-space: nowrap; }


/* ---------- Shop infinite scroll (hide numbered pagination) ---------- */
.ag-shop-content .woocommerce-pagination { display: none !important; }
.ag-load-more-wrap--infinite .ag-btn[data-ag-infinite] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.ag-load-more-wrap--infinite { position: relative; min-height: 2rem; }
.ag-load-more-wrap--infinite .ag-load-status {
	text-align: center;
	color: var(--ag-fg-mute);
	font-size: var(--ag-fs-0);
	min-height: 1.5em;
}
.ag-infinite-sentinel { height: 1px; width: 100%; pointer-events: none; }
