.aibyo-gallery{--aibyo-accent:#8f5b3e;--aibyo-text:#2b2723;--aibyo-muted:#6c635b;--aibyo-line:rgba(72,54,40,.17);--aibyo-radius:14px;--aibyo-columns:4;width:100%;color:var(--aibyo-text)}
.aibyo-gallery*,.aibyo-gallery*::before,.aibyo-gallery*::after{box-sizing:border-box}
.aibyo-gallery__heading{margin:0 0 1.25rem;text-align:center}
.aibyo-gallery__collections{display:grid;gap:1rem}
.aibyo-collection{position:relative;overflow:hidden;border:1px solid var(--aibyo-line);border-radius:var(--aibyo-radius);background:#fff;box-shadow:0 8px 30px rgba(52,39,29,.06);transition:box-shadow 180ms ease,transform 180ms ease}
.aibyo-collection:hover,.aibyo-collection.is-open{box-shadow:0 14px 38px rgba(52,39,29,.12)}
.aibyo-collection__trigger{position:relative;display:block;width:100%;min-height:clamp(160px,22vw,280px);padding:0;overflow:hidden;border:0;background:#3c3029;color:#fff;text-align:left;cursor:pointer}
.aibyo-collection__hero{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.001);transition:transform 450ms ease,filter 300ms ease}
.aibyo-collection__hero--no-image{background:linear-gradient(135deg,rgba(255,255,255,.08),transparent 45%),linear-gradient(135deg,#635044,#2f2722)}
.aibyo-collection__trigger::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,17,14,.82),rgba(22,17,14,.38) 58%,rgba(22,17,14,.12))}
.aibyo-collection:hover .aibyo-collection__hero,.aibyo-collection.is-open .aibyo-collection__hero{transform:scale(1.035);filter:saturate(1.05)}
.aibyo-collection__overlay{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:inherit;padding:clamp(1.4rem,4vw,3.25rem)}
.aibyo-collection__title{font-family:inherit;font-size:clamp(1.9rem,4vw,3.6rem);font-weight:700;line-height:1;letter-spacing:.02em;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.aibyo-collection__count{margin-top:.55rem;font-size:.95rem;opacity:.86}
.aibyo-collection__action{margin-top:1.15rem;padding-bottom:.22rem;border-bottom:1px solid currentColor;font-size:.83rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.aibyo-collection__panel{display:grid;grid-template-rows:0fr;visibility:hidden;opacity:0;transition:grid-template-rows 360ms ease,opacity 220ms ease,visibility 0s linear 360ms}
.aibyo-collection__inner{min-height:0;overflow:hidden}
.aibyo-collection.is-open .aibyo-collection__panel{grid-template-rows:1fr;visibility:visible;opacity:1;transition:grid-template-rows 360ms ease,opacity 240ms ease}
.aibyo-collection__status{padding:0 1.25rem;color:var(--aibyo-muted);font-size:.95rem}
.aibyo-collection.is-loading .aibyo-collection__status{padding-top:1.25rem}
.aibyo-products{display:grid;grid-template-columns:repeat(var(--aibyo-columns),minmax(0,1fr));gap:clamp(.9rem,2vw,1.5rem);padding:clamp(1rem,2.5vw,2rem)}
.aibyo-product{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--aibyo-line);border-radius:10px;background:#fff;color:var(--aibyo-text);text-decoration:none!important;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}
.aibyo-product:hover,.aibyo-product:focus-visible{transform:translateY(-3px);border-color:rgba(143,91,62,.45);box-shadow:0 12px 28px rgba(52,39,29,.12);color:var(--aibyo-text);outline:none}
.aibyo-product__media{display:block;overflow:hidden;aspect-ratio:4/5;background:#f5f2ef}
.aibyo-product__image,.aibyo-product__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 350ms ease}
.aibyo-product:hover .aibyo-product__image,.aibyo-product:hover .aibyo-product__media img{transform:scale(1.035)}
.aibyo-product__title{display:block;padding:.9rem 1rem 1rem;font-size:1rem;font-weight:650;line-height:1.25;text-align:center}
.aibyo-products__empty,.aibyo-notice{grid-column:1/-1;margin:0;padding:1rem;text-align:center;color:var(--aibyo-muted)}
@media(max-width:1024px){.aibyo-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:767px){.aibyo-products{grid-template-columns:repeat(2,minmax(0,1fr))}.aibyo-collection__trigger{min-height:150px}.aibyo-collection__overlay{padding:1.25rem}.aibyo-collection__title{font-size:clamp(1.65rem,9vw,2.5rem)}}
@media(max-width:440px){.aibyo-products{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.aibyo-gallery*,.aibyo-gallery*::before,.aibyo-gallery*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* v1.0.1: protect category banner text from theme color overrides */
.aibyo-gallery .aibyo-collection__trigger,
.aibyo-gallery .aibyo-collection__trigger:hover,
.aibyo-gallery .aibyo-collection__trigger:focus,
.aibyo-gallery .aibyo-collection__trigger:active,
.aibyo-gallery .aibyo-collection__trigger *,
.aibyo-gallery .aibyo-collection__trigger:hover *,
.aibyo-gallery .aibyo-collection__trigger:focus * {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.aibyo-gallery .aibyo-collection__trigger::after {
	background:
		linear-gradient(
			90deg,
			rgba(18, 13, 10, 0.92) 0%,
			rgba(18, 13, 10, 0.78) 34%,
			rgba(18, 13, 10, 0.42) 68%,
			rgba(18, 13, 10, 0.18) 100%
		) !important;
}

.aibyo-gallery .aibyo-collection__overlay {
	isolation: isolate;
}

.aibyo-gallery .aibyo-collection__title,
.aibyo-gallery .aibyo-collection__count,
.aibyo-gallery .aibyo-collection__action {
	position: relative;
	z-index: 2;
	opacity: 1 !important;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.85), 0 1px 2px rgba(0, 0, 0, 0.95);
}

.aibyo-gallery .aibyo-collection__title {
	font-weight: 800 !important;
}

.aibyo-gallery .aibyo-collection__action {
	border-color: rgba(255, 255, 255, 0.92) !important;
}


/* v1.0.2: compact closed collection cards, larger only when open */
.aibyo-gallery .aibyo-collection__trigger {
	min-height: 112px;
	transition: min-height 280ms ease;
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__trigger {
	min-height: clamp(190px, 20vw, 250px);
}

.aibyo-gallery .aibyo-collection__overlay {
	padding: 1rem 1.5rem;
	transition: padding 280ms ease;
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__overlay {
	padding: clamp(1.4rem, 3vw, 2.5rem);
}

.aibyo-gallery .aibyo-collection__title {
	font-size: clamp(1.45rem, 2.5vw, 2.25rem);
	line-height: 1.05;
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__title {
	font-size: clamp(2rem, 4vw, 3.2rem);
}

.aibyo-gallery .aibyo-collection__count {
	margin-top: .25rem;
	font-size: .82rem;
}

.aibyo-gallery .aibyo-collection__action {
	margin-top: .55rem;
	font-size: .72rem;
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__action {
	margin-top: .9rem;
	font-size: .8rem;
}

@media (max-width: 767px) {
	.aibyo-gallery .aibyo-collection__trigger {
		min-height: 96px;
	}
	.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__trigger {
		min-height: 160px;
	}
	.aibyo-gallery .aibyo-collection__overlay,
	.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__overlay {
		padding: 1rem 1.1rem;
	}
	.aibyo-gallery .aibyo-collection__title {
		font-size: 1.45rem;
	}
	.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__title {
		font-size: 2rem;
	}
}


/* v1.0.3: leather book-spine collection cards and gallery-style artwork cards */
.aibyo-gallery {
	--aibyo-leather-dark: #2b1b14;
	--aibyo-leather-mid: #5a3827;
	--aibyo-leather-light: #7b5238;
	--aibyo-gold: #d2a25d;
}

/* Closed state: compact leather book spine */
.aibyo-gallery .aibyo-collection:not(.is-open) {
	border-color: rgba(70, 38, 23, .52);
	border-radius: 8px;
	box-shadow:
		0 6px 14px rgba(43, 27, 20, .18),
		inset 0 1px 0 rgba(255,255,255,.08);
}

.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__trigger {
	min-height: 88px;
	background:
		linear-gradient(90deg,
			rgba(255,255,255,.06) 0 2%,
			transparent 2% 4%,
			rgba(0,0,0,.10) 4% 6%,
			transparent 6% 94%,
			rgba(0,0,0,.16) 94% 96%,
			rgba(255,255,255,.04) 96% 100%
		),
		repeating-linear-gradient(
			0deg,
			rgba(255,255,255,.018) 0 1px,
			rgba(0,0,0,.022) 1px 3px
		),
		linear-gradient(135deg, var(--aibyo-leather-light), var(--aibyo-leather-mid) 45%, var(--aibyo-leather-dark));
}

/* In closed state, category thumbnail becomes a subtle leather watermark */
.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__hero {
	opacity: .20;
	filter: sepia(1) saturate(.65) contrast(1.1) brightness(.7);
	background-position: center 38%;
	mix-blend-mode: luminosity;
}

.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__trigger::before {
	content: "";
	position: absolute;
	inset: 8px 12px;
	z-index: 1;
	border: 1px solid rgba(210, 162, 93, .36);
	border-radius: 4px;
	box-shadow:
		inset 0 0 0 1px rgba(0,0,0,.18),
		0 0 0 1px rgba(255,255,255,.03);
	pointer-events: none;
}

.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__trigger::after {
	background: linear-gradient(
		90deg,
		rgba(26, 14, 9, .82),
		rgba(42, 24, 16, .64) 58%,
		rgba(20, 10, 7, .74)
	) !important;
}

.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__overlay {
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: .9rem;
	padding: .9rem 1.35rem;
}

.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.25rem, 2.2vw, 1.8rem);
	letter-spacing: .045em;
	text-transform: uppercase;
	color: #f5e7cf !important;
	-webkit-text-fill-color: #f5e7cf !important;
	text-shadow: 0 1px 0 #1f120c, 0 2px 6px rgba(0,0,0,.82);
}

.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__count {
	margin: 0;
	padding-left: .9rem;
	border-left: 1px solid rgba(210, 162, 93, .45);
	font-size: .76rem;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #e4c89e !important;
	-webkit-text-fill-color: #e4c89e !important;
	white-space: nowrap;
}

.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__action {
	margin: 0 0 0 auto;
	padding: .38rem .66rem;
	border: 1px solid rgba(210, 162, 93, .55) !important;
	border-radius: 3px;
	background: rgba(31, 17, 11, .34);
	font-size: .68rem;
	letter-spacing: .12em;
	color: #f2d7ad !important;
	-webkit-text-fill-color: #f2d7ad !important;
	white-space: nowrap;
}

/* Hover gives the spine a slight lift rather than a large zoom */
.aibyo-gallery .aibyo-collection:not(.is-open):hover {
	transform: translateY(-2px);
	box-shadow:
		0 10px 22px rgba(43, 27, 20, .25),
		inset 0 1px 0 rgba(255,255,255,.08);
}

.aibyo-gallery .aibyo-collection:not(.is-open):hover .aibyo-collection__hero {
	transform: scale(1.015);
}

/* Open state: category becomes a fuller illustrated header */
.aibyo-gallery .aibyo-collection.is-open {
	border-radius: 12px;
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__trigger {
	min-height: clamp(170px, 18vw, 225px);
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__overlay {
	align-items: flex-start;
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__action {
	border: 1px solid rgba(255,255,255,.72) !important;
	border-radius: 3px;
	padding: .38rem .68rem;
	background: rgba(0,0,0,.18);
}

/* Artwork cards: cleaner gallery presentation */
.aibyo-gallery .aibyo-product {
	border: 0;
	border-radius: 8px;
	background: transparent;
	box-shadow: none;
}

.aibyo-gallery .aibyo-product__media {
	border-radius: 8px;
	box-shadow: 0 7px 18px rgba(52, 39, 29, .13);
}

.aibyo-gallery .aibyo-product__title {
	padding: .75rem .25rem .2rem;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: .01em;
}

.aibyo-gallery .aibyo-product:hover,
.aibyo-gallery .aibyo-product:focus-visible {
	transform: translateY(-4px);
	border-color: transparent;
	box-shadow: none;
}

.aibyo-gallery .aibyo-product:hover .aibyo-product__media,
.aibyo-gallery .aibyo-product:focus-visible .aibyo-product__media {
	box-shadow: 0 13px 26px rgba(52, 39, 29, .20);
}

/* Slightly softer reveal */
.aibyo-gallery .aibyo-collection__panel {
	transition: grid-template-rows 420ms cubic-bezier(.2,.72,.25,1), opacity 240ms ease, visibility 0s linear 420ms;
}

.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__panel {
	transition: grid-template-rows 420ms cubic-bezier(.2,.72,.25,1), opacity 260ms ease;
}

@media (max-width: 767px) {
	.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__trigger {
		min-height: 76px;
	}
	.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__overlay {
		gap: .55rem;
		padding: .75rem 1rem;
	}
	.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__title {
		font-size: 1.18rem;
	}
	.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__count {
		font-size: .66rem;
		padding-left: .55rem;
	}
	.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__action {
		font-size: 0;
		padding: .35rem .5rem;
	}
	.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__action::after {
		content: "OPEN";
		font-size: .62rem;
		letter-spacing: .12em;
	}
	.aibyo-gallery .aibyo-collection.is-open .aibyo-collection__trigger {
		min-height: 145px;
	}
}

@media (max-width: 440px) {
	.aibyo-gallery .aibyo-collection:not(.is-open) .aibyo-collection__count {
		display: none;
	}
}


/* v1.0.4: make every artwork card an unmistakable, reliable builder link */
.aibyo-gallery .aibyo-product {
	position: relative;
	z-index: 3;
	cursor: pointer !important;
	pointer-events: auto !important;
}

.aibyo-gallery .aibyo-product *,
.aibyo-gallery .aibyo-product__media,
.aibyo-gallery .aibyo-product__image {
	pointer-events: none !important;
}

.aibyo-gallery .aibyo-product__cta {
	display: block;
	margin: .25rem auto .85rem;
	padding: .42rem .72rem;
	border: 1px solid rgba(123, 82, 56, .42);
	border-radius: 3px;
	color: #5a3827;
	font-size: .68rem;
	font-weight: 750;
	letter-spacing: .09em;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	transition: background 160ms ease, color 160ms ease, border-color 160ms ease;
}

.aibyo-gallery .aibyo-product:hover .aibyo-product__cta,
.aibyo-gallery .aibyo-product:focus-visible .aibyo-product__cta {
	border-color: #5a3827;
	background: #5a3827;
	color: #fff;
}


/* v1.0.5: keep required WooCommerce base price hidden until Back Plate is chosen */
body.single-product.aibyo-hide-builder-price:not(.aibyo-backer-chosen) .summary > .price,
body.single-product.aibyo-hide-builder-price:not(.aibyo-backer-chosen) .summary .price:not(.woocommerce-variation-price .price),
body.single-product.aibyo-hide-builder-price:not(.aibyo-backer-chosen) .wcpa_price_summary,
body.single-product.aibyo-hide-builder-price:not(.aibyo-backer-chosen) .wcpa_total,
body.single-product.aibyo-hide-builder-price:not(.aibyo-backer-chosen) .wcpa_price,
body.single-product.aibyo-hide-builder-price:not(.aibyo-backer-chosen) .aibyo-builder-price-row {
	display: none !important;
}

body.single-product.aibyo-backer-chosen .summary > .price,
body.single-product.aibyo-backer-chosen .wcpa_price_summary,
body.single-product.aibyo-backer-chosen .wcpa_total,
body.single-product.aibyo-backer-chosen .wcpa_price,
body.single-product.aibyo-backer-chosen .aibyo-builder-price-row {
	display: revert;
}


/* v1.1.0 — Ancient Innovations Builder Studio */
body.aibyo-builder-studio-active .product-image-summary .product-images,
body.aibyo-builder-studio-active .product-image-summary .woocommerce-product-gallery,
body.aibyo-builder-studio-active .single-product-page > .product-images,
body.aibyo-builder-studio-active .woocommerce-product-gallery {
	display: none !important;
}

body.aibyo-builder-studio-active .product-image-summary .summary,
body.aibyo-builder-studio-active .single-product-page > .summary,
body.aibyo-builder-studio-active .summary {
	width: 100% !important;
	max-width: none !important;
	flex: 0 0 100% !important;
}

.aibyo-builder-studio,
.aibyo-builder-studio * {
	box-sizing: border-box;
}

.aibyo-builder-studio {
	display: grid;
	grid-template-columns: minmax(250px, 31%) minmax(0, 69%);
	gap: clamp(1.25rem, 3vw, 3rem);
	align-items: start;
	width: 100%;
	margin: 1.5rem 0 2rem;
}

.aibyo-builder-chosen {
	position: sticky;
	top: 24px;
	padding: clamp(1.1rem, 2.3vw, 1.7rem);
	border: 1px solid rgba(83, 52, 34, .18);
	border-radius: 14px;
	background:
		repeating-linear-gradient(
			0deg,
			rgba(255,255,255,.015) 0 1px,
			rgba(0,0,0,.012) 1px 3px
		),
		linear-gradient(145deg, #fbf8f4, #f0e7dd);
	box-shadow: 0 12px 34px rgba(60, 39, 25, .10);
}

.aibyo-builder-chosen__eyebrow,
.aibyo-builder-active__eyebrow {
	margin-bottom: .8rem;
	color: #8f5b3e;
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.aibyo-builder-artwork {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	gap: .9rem;
	align-items: center;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(83, 52, 34, .16);
}

.aibyo-builder-artwork__image {
	display: block;
	width: 78px;
	height: 92px;
	object-fit: cover;
	border-radius: 7px;
	box-shadow: 0 7px 16px rgba(45, 28, 18, .18);
}

.aibyo-builder-choice__label {
	display: block;
	margin-bottom: .16rem;
	color: #796a5f;
	font-size: .72rem;
	font-weight: 750;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.aibyo-builder-artwork__title {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1.15;
}

.aibyo-builder-choice-list {
	display: grid;
	gap: .2rem;
	margin-top: .8rem;
}

.aibyo-builder-choice {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: .55rem;
	align-items: start;
	padding: .62rem .25rem;
	border-bottom: 1px solid rgba(83, 52, 34, .10);
}

.aibyo-builder-choice:last-child {
	border-bottom: 0;
}

.aibyo-builder-choice__status {
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	margin-top: 1px;
	border: 1px solid rgba(83, 52, 34, .34);
	border-radius: 50%;
	color: #8f5b3e;
	font-size: .76rem;
	font-weight: 800;
}

.aibyo-builder-choice.is-complete .aibyo-builder-choice__status {
	border-color: #6f8a5c;
	background: #6f8a5c;
	color: #fff;
}

.aibyo-builder-choice strong {
	display: block;
	color: #2f2823;
	font-size: .98rem;
	line-height: 1.3;
}

.aibyo-builder-active {
	min-width: 0;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border: 1px solid rgba(83, 52, 34, .14);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 14px 40px rgba(60, 39, 25, .08);
}

.aibyo-builder-active__header {
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(83, 52, 34, .13);
}

.aibyo-builder-active__title {
	margin: 0;
	color: #2f2823;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.85rem, 3.5vw, 3rem);
	line-height: 1.08;
}

/* Make the active Acowebs controls readable and visually dominant */
.aibyo-builder-active .wcpa_form_outer,
.aibyo-builder-active .wcpa_wrap,
.aibyo-builder-active [class*="wcpa_"] {
	font-size: 18px;
}

.aibyo-builder-active .wcpa_form_outer label,
.aibyo-builder-active .wcpa_wrap label,
.aibyo-builder-active .wcpa_field_label,
.aibyo-builder-active [class*="field_label"] {
	font-size: 18px !important;
	line-height: 1.4 !important;
}

.aibyo-builder-active h1,
.aibyo-builder-active h2,
.aibyo-builder-active h3,
.aibyo-builder-active h4,
.aibyo-builder-active .wcpa_section_heading,
.aibyo-builder-active .wcpa_section_title {
	font-size: clamp(1.45rem, 2.5vw, 2rem) !important;
	line-height: 1.2 !important;
}

.aibyo-builder-active input,
.aibyo-builder-active select,
.aibyo-builder-active textarea,
.aibyo-builder-active button,
.aibyo-builder-active .button {
	font-size: 17px !important;
	min-height: 46px;
}

.aibyo-builder-active img {
	max-width: 100%;
}

/* Larger image-group choices without affecting the small summary thumbnail */
.aibyo-builder-active .wcpa_image_group img,
.aibyo-builder-active [class*="image-group"] img,
.aibyo-builder-active [class*="image_group"] img {
	width: clamp(145px, 22vw, 230px) !important;
	height: clamp(155px, 24vw, 245px) !important;
	object-fit: cover !important;
	border-radius: 10px;
}

@media (max-width: 900px) {
	.aibyo-builder-studio {
		grid-template-columns: 1fr;
	}
	.aibyo-builder-chosen {
		position: static;
	}
	.aibyo-builder-choice-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 1rem;
	}
}

@media (max-width: 520px) {
	.aibyo-builder-choice-list {
		grid-template-columns: 1fr;
	}
	.aibyo-builder-artwork {
		grid-template-columns: 62px minmax(0, 1fr);
	}
	.aibyo-builder-artwork__image {
		width: 62px;
		height: 74px;
	}
	.aibyo-builder-active {
		padding: 1rem;
	}
}


/* v1.1.1 — visual selections in the left summary */
.aibyo-builder-choice__content {
	min-width: 0;
}

.aibyo-builder-choice__value {
	display: flex;
	align-items: center;
	gap: .55rem;
	min-width: 0;
}

.aibyo-builder-choice__media {
	display: none;
	flex: 0 0 auto;
}

.aibyo-builder-choice__media.has-image {
	display: block;
}

.aibyo-builder-choice__media img {
	display: block;
	width: 34px;
	height: 34px;
	object-fit: cover;
	border: 1px solid rgba(83, 52, 34, .18);
	border-radius: 6px;
	box-shadow: 0 3px 8px rgba(45, 28, 18, .12);
}

.aibyo-builder-choice__value strong {
	min-width: 0;
	overflow-wrap: anywhere;
}


/* v1.1.3 — summary image choices match the artwork preview */
.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) {
	grid-template-columns: 24px minmax(0, 1fr);
	padding-top: .85rem;
	padding-bottom: .85rem;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__value {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	gap: .9rem;
	align-items: center;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__media img {
	width: 78px;
	height: 92px;
	border-radius: 7px;
	box-shadow: 0 7px 16px rgba(45, 28, 18, .18);
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__value strong {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.15;
}

@media (max-width: 520px) {
	.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__value {
		grid-template-columns: 62px minmax(0, 1fr);
		gap: .7rem;
	}
	.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__media img {
		width: 62px;
		height: 74px;
	}
}


/* v1.2.0 — polished builder summary and purchase controls */

/* Selected visual choices use the exact same construction as Artwork:
   image on the left, label and selected value on the right. */
.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) {
	position: relative;
	display: block;
	padding: 1rem 0;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) > .aibyo-builder-choice__status {
	position: absolute;
	z-index: 2;
	top: 1rem;
	left: 0;
	width: 22px;
	height: 22px;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__content {
	display: grid;
	grid-template-columns: 78px minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: .12rem .9rem;
	align-items: center;
	padding-left: 0;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__label {
	grid-column: 2;
	grid-row: 1;
	align-self: end;
	margin: 0;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__value {
	display: contents;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__media {
	grid-column: 1;
	grid-row: 1 / span 2;
	display: block;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__media img {
	display: block;
	width: 78px;
	height: 92px;
	object-fit: cover;
	border-radius: 7px;
	box-shadow: 0 7px 16px rgba(45, 28, 18, .18);
	pointer-events: none;
}

.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__value strong {
	grid-column: 2;
	grid-row: 2;
	align-self: start;
	min-width: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 1.18rem;
	font-weight: 700;
	line-height: 1.12;
	overflow-wrap: normal;
	word-break: normal;
	white-space: normal;
}

/* Make the guiding eyebrow feel intentional. */
.aibyo-builder-active__eyebrow {
	margin-bottom: .55rem;
	font-size: clamp(.82rem, 1.1vw, 1rem);
	letter-spacing: .18em;
}

.aibyo-builder-active__title {
	font-size: clamp(2.25rem, 4vw, 3.35rem);
}

/* Purchase dock at the bottom of Your Creation. */
.aibyo-builder-purchase {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(83, 52, 34, .18);
}

.aibyo-builder-purchase__quantity {
	display: grid;
	grid-template-columns: 42px minmax(50px, 1fr) 42px;
	margin-bottom: .7rem;
	border: 1px solid rgba(83, 52, 34, .22);
	border-radius: 7px;
	overflow: hidden;
	background: #fff;
}

.aibyo-builder-purchase__quantity button,
.aibyo-builder-purchase__quantity input {
	width: 100%;
	min-height: 42px;
	margin: 0;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent;
	color: #302720;
	font-size: 1rem;
	text-align: center;
	box-shadow: none !important;
}

.aibyo-builder-purchase__quantity button {
	cursor: pointer;
	font-size: 1.25rem;
}

.aibyo-builder-purchase__quantity input {
	border-right: 1px solid rgba(83, 52, 34, .16) !important;
	border-left: 1px solid rgba(83, 52, 34, .16) !important;
	-moz-appearance: textfield;
}

.aibyo-builder-purchase__quantity input::-webkit-inner-spin-button,
.aibyo-builder-purchase__quantity input::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.aibyo-builder-purchase__buttons {
	display: grid;
	grid-template-columns: 1fr;
	gap: .55rem;
}

.aibyo-builder-purchase__buttons button {
	min-height: 48px;
	padding: .7rem .8rem;
	border: 1px solid #81431f;
	border-radius: 6px;
	font-size: .85rem;
	font-weight: 800;
	letter-spacing: .045em;
	text-transform: uppercase;
	cursor: pointer;
}

.aibyo-builder-add-cart {
	background: #81431f;
	color: #fff;
}

.aibyo-builder-buy-now {
	background: #d7a052;
	color: #fff;
	border-color: #d7a052 !important;
}

/* The functional originals remain in the WooCommerce form but are visually hidden.
   The left controls trigger them, preserving validation and cart behavior. */
body.aibyo-builder-studio-active form.cart > .quantity,
body.aibyo-builder-studio-active form.cart > .single_add_to_cart_button,
body.aibyo-builder-studio-active form.cart > .buy-now-btn,
body.aibyo-builder-studio-active form.cart > .wd-buy-now-btn,
body.aibyo-builder-studio-active form.cart > [name="buy-now"],
body.aibyo-builder-studio-active form.cart > [class*="buy-now"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Remove the empty purchase row left beneath the configurator. */
body.aibyo-builder-studio-active .summary > .cart {
	margin-bottom: 0 !important;
}

/* Keep the summary readable on narrower desktop widths. */
@media (min-width: 901px) {
	.aibyo-builder-studio {
		grid-template-columns: minmax(300px, 34%) minmax(0, 66%);
	}
}

@media (max-width: 900px) {
	.aibyo-builder-purchase__buttons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__content {
		grid-template-columns: 62px minmax(0, 1fr);
		gap: .12rem .7rem;
	}
	.aibyo-builder-choice:has(.aibyo-builder-choice__media.has-image) .aibyo-builder-choice__media img {
		width: 62px;
		height: 74px;
	}
	.aibyo-builder-purchase__buttons {
		grid-template-columns: 1fr;
	}
}


/* v1.2.2 — complete category list and Upload Your Own Artwork */
.aibyo-gallery .aibyo-collection__trigger--link {
	text-decoration: none !important;
}

.aibyo-gallery .aibyo-collection--upload:not(.is-open) .aibyo-collection__trigger {
	background:
		radial-gradient(circle at 82% 34%, rgba(210,162,93,.26), transparent 24%),
		repeating-linear-gradient(
			0deg,
			rgba(255,255,255,.018) 0 1px,
			rgba(0,0,0,.022) 1px 3px
		),
		linear-gradient(135deg, #704a33, #4b2d20 48%, #24150f);
}

.aibyo-gallery .aibyo-collection--upload:not(.is-open) .aibyo-collection__hero--no-image {
	opacity: 1;
	background:
		linear-gradient(135deg, rgba(255,255,255,.08), transparent 42%),
		radial-gradient(circle at 78% 50%, rgba(210,162,93,.22), transparent 28%);
}

.aibyo-gallery .aibyo-collection--upload .aibyo-collection__count {
	max-width: 30rem;
}


/* v1.2.3 — calmer, easier category interaction */
.aibyo-gallery .aibyo-collection__trigger {
	cursor: pointer;
}

.aibyo-gallery .aibyo-collection.is-locked .aibyo-collection__trigger {
	box-shadow: inset 0 0 0 2px rgba(210, 162, 93, .42);
}

.aibyo-gallery .aibyo-collection__panel {
	pointer-events: auto;
}


/* v1.2.4 — click/tap only category interaction */
.aibyo-gallery .aibyo-collection:hover {
	transform: none;
}

.aibyo-gallery .aibyo-collection:not(.is-open):hover .aibyo-collection__hero {
	transform: none;
}


/* v1.2.7 — three-column Builder Studio with optional additions on the right */
.aibyo-builder-studio {
	grid-template-columns:
		minmax(270px, 29%)
		minmax(430px, 1fr)
		minmax(270px, 29%);
	gap: clamp(1rem, 2vw, 2rem);
}

.aibyo-builder-extras {
	position: sticky;
	top: 24px;
	min-width: 0;
	padding: clamp(1rem, 2vw, 1.45rem);
	border: 1px solid rgba(83, 52, 34, .14);
	border-radius: 0;
	background:
		repeating-linear-gradient(
			0deg,
			rgba(255,255,255,.02) 0 1px,
			rgba(0,0,0,.009) 1px 3px
		),
		linear-gradient(145deg, #fbf8f4, #f3ece4);
	box-shadow: 0 12px 34px rgba(60, 39, 25, .08);
}

.aibyo-builder-extras[hidden],
.aibyo-builder-extras__group[hidden] {
	display: none !important;
}

.aibyo-builder-extras__group + .aibyo-builder-extras__group {
	margin-top: 1.4rem;
	padding-top: 1.4rem;
	border-top: 1px solid rgba(83, 52, 34, .15);
}

.aibyo-builder-extras__title {
	margin: 0 0 1rem;
	color: #2f2823;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.35rem, 2vw, 1.85rem);
	line-height: 1.1;
	text-align: center;
	text-transform: uppercase;
}

.aibyo-builder-extras .aibyo-extras-section {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.aibyo-builder-extras .aibyo-extras-section > .wcpa_section_head,
.aibyo-builder-extras .aibyo-extras-section > [class*="section_head"] {
	display: none !important;
}

.aibyo-builder-extras .wcpa_multistep_nav,
.aibyo-builder-extras .wcpa_section_nav {
	display: none !important;
}

.aibyo-builder-extras label,
.aibyo-builder-extras .wcpa_field_label,
.aibyo-builder-extras [class*="field_label"] {
	font-size: 15px !important;
	line-height: 1.3 !important;
}

.aibyo-builder-extras input,
.aibyo-builder-extras select,
.aibyo-builder-extras textarea,
.aibyo-builder-extras button {
	font-size: 15px !important;
}

.aibyo-builder-extras .wcpa_image_group img,
.aibyo-builder-extras [class*="image-group"] img,
.aibyo-builder-extras [class*="image_group"] img {
	width: 100% !important;
	max-width: 118px !important;
	height: 118px !important;
	object-fit: cover !important;
	border-radius: 7px;
}

.aibyo-hidden-progress-step {
	display: none !important;
}

@media (max-width: 1180px) {
	.aibyo-builder-studio {
		grid-template-columns: minmax(250px, 31%) minmax(0, 69%);
	}
	.aibyo-builder-extras {
		position: static;
		grid-column: 2;
	}
}

@media (max-width: 900px) {
	.aibyo-builder-studio {
		grid-template-columns: 1fr;
	}
	.aibyo-builder-extras {
		grid-column: auto;
	}
}


/* v1.2.8 — collapsible right-side add-on groups */
.aibyo-builder-extras__toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	margin: 0;
	padding: 0 0 1rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	box-shadow: none;
	cursor: pointer;
	text-align: left;
}

.aibyo-builder-extras__toggle:hover,
.aibyo-builder-extras__toggle:focus {
	background: transparent;
	color: inherit;
	box-shadow: none;
}

.aibyo-builder-extras__toggle:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 5px;
}

.aibyo-builder-extras__toggle .aibyo-builder-extras__title {
	flex: 1;
	margin: 0;
	padding: 0;
	text-align: left;
}

.aibyo-builder-extras__chevron {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin-left: .75rem;
	font-family: Arial, sans-serif;
	font-size: 1.4rem;
	line-height: 1;
	transform: rotate(-90deg);
	transition: transform .2s ease;
}

.aibyo-builder-extras__group.is-open .aibyo-builder-extras__chevron {
	transform: rotate(0deg);
}

.aibyo-builder-extras__group:not(.is-open) > .aibyo-builder-extras__content {
	display: none !important;
}

.aibyo-builder-extras__group.is-open > .aibyo-builder-extras__content {
	display: block;
}


/* v1.2.9 — live total in the Your Creation purchase dock. */
.aibyo-builder-purchase__price {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: .85rem;
}

.aibyo-builder-purchase__price[hidden] {
	display: none !important;
}

.aibyo-builder-purchase__price-label {
	font-size: .88rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #66564a;
}

.aibyo-builder-purchase__price-value {
	font-size: clamp(1.9rem, 3vw, 2.35rem);
	line-height: 1;
	font-weight: 800;
	color: #302720;
}

/* v1.4.0 — Upload Your Own Artwork inside the builder. */
.aibyo-custom-art-upload {
	margin: 0 0 1.5rem;
	padding: clamp(1.15rem, 2vw, 1.65rem);
	border: 1px solid rgba(92, 65, 43, .24);
	border-radius: 14px;
	background: #faf7f1;
}

.aibyo-custom-art-upload__eyebrow {
	margin-bottom: .35rem;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8a643d;
}

.aibyo-custom-art-upload h3 {
	margin: 0 0 .45rem;
	font-size: clamp(1.35rem, 2vw, 1.7rem);
	color: #302720;
}

.aibyo-custom-art-upload > p {
	margin: 0 0 1rem;
	color: #66564a;
}

.aibyo-custom-art-upload__drop {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 150px;
	padding: 1.25rem;
	border: 2px dashed rgba(111, 77, 44, .42);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	text-align: center;
	transition: border-color .2s ease, background .2s ease;
}

.aibyo-custom-art-upload__drop:hover,
.aibyo-custom-art-upload__drop:focus-within {
	border-color: #8a643d;
	background: #fffdf9;
}

.aibyo-custom-art-upload__drop input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
}

.aibyo-custom-art-upload__prompt {
	display: grid;
	gap: .35rem;
}

.aibyo-custom-art-upload__prompt strong {
	font-size: 1.05rem;
	color: #3b2b20;
}

.aibyo-custom-art-upload__prompt span {
	font-size: .9rem;
	color: #75675d;
}

.aibyo-custom-art-upload__preview {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem;
	border-radius: 12px;
	background: #fff;
}

.aibyo-custom-art-upload__preview[hidden] {
	display: none !important;
}

.aibyo-custom-art-upload__preview-image {
	width: 82px;
	height: 82px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid rgba(92, 65, 43, .18);
}

.aibyo-custom-art-upload__filename {
	display: block;
	max-width: 420px;
	margin-bottom: .4rem;
	overflow-wrap: anywhere;
	color: #302720;
}

.aibyo-custom-art-upload__change {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	text-decoration: underline;
	color: #7a532f;
	cursor: pointer;
}


/* v1.4.1 — artwork fee context and customer acknowledgement. */
.aibyo-custom-art-upload__lead {
	font-size: 1.02rem;
	color: #3b2b20 !important;
}

.aibyo-custom-art-upload__requirements {
	display: grid;
	gap: .25rem;
	margin: 0 0 1rem;
	padding: .85rem 1rem;
	border-left: 3px solid #9a7148;
	background: rgba(154, 113, 72, .08);
	color: #66564a;
}

.aibyo-custom-art-upload__requirements strong {
	color: #3b2b20;
}

.aibyo-custom-art-upload__prompt small {
	font-size: .82rem;
	font-weight: 700;
	color: #8a643d;
}

.aibyo-custom-art-upload__acknowledgement {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .65rem;
	align-items: start;
	margin-top: 1rem;
	padding: .9rem 1rem;
	border: 1px solid rgba(92, 65, 43, .22);
	border-radius: 10px;
	background: #fff;
	cursor: pointer;
	color: #4c4037;
	line-height: 1.45;
}

.aibyo-custom-art-upload__acknowledgement input {
	width: 18px;
	height: 18px;
	margin-top: .15rem;
	accent-color: #7a532f;
}
