/*
 * AEC Forge brand skin — charcoal / molten orange over the WPWiseBones
 * (Bootstrap 5) base. Loaded after the parent stylesheet.
 */

:root {
	--af-ink: #1b1e23;          /* charcoal */
	--af-ink-2: #262a31;
	--af-steel: #5c6470;
	--af-line: #e6e2dc;
	--af-paper: #faf8f5;        /* warm paper */
	--af-forge: #e8600a;        /* molten orange */
	--af-forge-2: #ff8a3d;
	--af-ember: #fff1e6;
	--af-radius: 12px;
}

body {
	font-family: "Archivo", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--af-ink);
	background: #fff;
}

h1, h2, h3, h4, h5, .display-4, .display-5 {
	font-family: "Archivo", sans-serif;
	letter-spacing: -0.02em;
}

/* Bootstrap accent re-tint */
.btn-primary,
.btn-success {
	background: var(--af-forge);
	border-color: var(--af-forge);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-success:hover,
.btn-success:focus {
	background: #cf5507;
	border-color: #cf5507;
}

.btn-outline-primary {
	color: var(--af-forge);
	border-color: var(--af-forge);
}

.btn-outline-primary:hover {
	background: var(--af-forge);
	border-color: var(--af-forge);
	color: #fff;
}

a { color: var(--af-forge); }
a:hover { color: #cf5507; }

.text-primary { color: var(--af-forge) !important; }
.bg-primary { background-color: var(--af-forge) !important; }

/* ── Hero ─────────────────────────────────────────────────────────────── */

.wpb-hero,
.af-hero {
	background:
		radial-gradient(1000px 480px at 85% -10%, rgba(232, 96, 10, 0.28), transparent 60%),
		linear-gradient(160deg, var(--af-ink) 0%, var(--af-ink-2) 100%);
	color: #f4f2ef;
	padding: 5.5rem 0 5rem;
}

.af-hero .lead { color: #c9cdd3; }

.af-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: .5em;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	color: var(--af-forge-2);
	border-radius: 99px;
	padding: .35em 1em;
	font-size: .85rem;
	font-weight: 600;
}

.af-hero-badge .dot {
	width: .5em;
	height: .5em;
	border-radius: 50%;
	background: var(--af-forge-2);
	box-shadow: 0 0 8px var(--af-forge-2);
}

.af-hero-trust { color: #9aa0a8; font-size: .9rem; }

/* Hero listing mock cards */
.af-hero-visual { position: relative; min-height: 340px; }

.af-mock {
	background: #fff;
	color: var(--af-ink);
	border-radius: var(--af-radius);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
	padding: 1.1rem 1.25rem;
	position: absolute;
}

.af-mock--product { top: 0; left: 4%; width: 62%; }
.af-mock--service { bottom: 0; right: 0; width: 58%; }

.af-mock__kicker {
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--af-steel);
}

.af-mock__title { font-weight: 700; margin: .15rem 0 .5rem; }

.af-mock__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: .9rem;
	padding: .35rem 0;
	border-top: 1px dashed var(--af-line);
}

.af-mock__price { color: var(--af-forge); font-weight: 700; }

.af-mock__key {
	font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
	font-size: .8rem;
	background: var(--af-ember);
	color: #a34505;
	border-radius: 6px;
	padding: .3em .6em;
	display: inline-block;
}

/* ── Sections ─────────────────────────────────────────────────────────── */

.af-section { padding: 4.5rem 0; }
.af-section--alt { background: var(--af-paper); }

.af-eyebrow {
	color: var(--af-forge);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .8rem;
}

.af-card {
	background: #fff;
	border: 1px solid var(--af-line);
	border-radius: var(--af-radius);
	padding: 1.6rem;
	height: 100%;
	transition: transform .18s ease, box-shadow .18s ease;
}

.af-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(27, 30, 35, 0.10);
}

.af-card .bi {
	font-size: 1.5rem;
	color: var(--af-forge);
	background: var(--af-ember);
	border-radius: 10px;
	padding: .45em;
	display: inline-block;
	margin-bottom: .8rem;
}

.af-card h3 { font-size: 1.1rem; font-weight: 700; }
.af-card p { color: var(--af-steel); font-size: .95rem; margin-bottom: 0; }

/* Numbered steps */
.af-step { text-align: center; padding: 0 1rem; }

.af-step__num {
	width: 2.6rem;
	height: 2.6rem;
	line-height: 2.6rem;
	border-radius: 50%;
	background: var(--af-ink);
	color: var(--af-forge-2);
	font-weight: 800;
	display: inline-block;
	margin-bottom: 1rem;
}

/* Audience split */
.af-panel {
	border-radius: var(--af-radius);
	padding: 2.2rem;
	height: 100%;
}

.af-panel--dark { background: var(--af-ink); color: #f4f2ef; }
.af-panel--dark p, .af-panel--dark li { color: #c9cdd3; }
.af-panel--ember { background: var(--af-ember); }
.af-panel--ember p, .af-panel--ember li { color: #7a4a22; }

.af-panel ul { padding-left: 1.2rem; margin-bottom: 1.4rem; }
.af-panel li { margin-bottom: .45rem; }

/* Stats strip */
.af-stats { border-top: 1px solid var(--af-line); border-bottom: 1px solid var(--af-line); }
.af-stat { text-align: center; padding: 1.6rem 1rem; }
.af-stat b { display: block; font-size: 1.6rem; color: var(--af-forge); }
.af-stat span { color: var(--af-steel); font-size: .9rem; }

/* CTA band */
.af-cta {
	background:
		radial-gradient(800px 300px at 15% 120%, rgba(232, 96, 10, 0.35), transparent 60%),
		var(--af-ink);
	color: #fff;
	border-radius: var(--af-radius);
	padding: 3.5rem 2.5rem;
	text-align: center;
}

/* ── AEC Market plugin surfaces (dashboard, tiers, store) ─────────────── */

.wpaec-button,
.wpaec-form .button {
	background: var(--af-forge);
	border-color: var(--af-forge);
	color: #fff;
}

.wpaec-dashboard__nav li.is-active a { background: var(--af-ink); }

.wpaec-tier:has(input:checked) {
	border-color: var(--af-forge);
	box-shadow: 0 0 0 1px var(--af-forge);
}

.wpaec-stat__value { color: var(--af-forge); }

/* ── WooCommerce block cart/checkout: keep the layout inside the viewport ── */

.woocommerce-cart main,
.woocommerce-checkout main {
	overflow-x: clip;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout {
	max-width: 100%;
}

@media (max-width: 991px) {
	.af-hero-visual { display: none; }
	.wpb-hero, .af-hero { padding: 4rem 0 3.5rem; }
}

/* ═══════════════════════════════════════════════════════════════════════
   Brand polish — recolor Bootstrap's blue to forge orange, brand the
   header, texture the hero, and restyle the WooCommerce shop & buttons.
   ═══════════════════════════════════════════════════════════════════════ */

/* Retint every Bootstrap "primary" surface (search button, links, accents). */
:root {
	--bs-primary: #e8600a;
	--bs-primary-rgb: 232, 96, 10;
	--bs-link-color: #cf5507;
	--bs-link-color-rgb: 207, 85, 7;
	--bs-link-hover-color: #a34505;
	--bs-link-hover-color-rgb: 163, 69, 5;
	--bs-btn-focus-shadow-rgb: 232, 96, 10;
}

/* ── Header ─────────────────────────────────────────────────────────────── */
.site-header {
	border-bottom: 1px solid var(--af-line);
	background: #fff;
}

.navbar-brand {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	font-family: "Archivo", sans-serif;
	font-weight: 800;
	letter-spacing: -0.02em;
	font-size: 1.35rem;
	color: var(--af-ink) !important;
}

.navbar-brand::before {
	content: "";
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	background: url("../img/mark.svg") center / contain no-repeat;
}

.site-description {
	margin: .2rem 0 0;
	font-size: .78rem;
	line-height: 1.35;
	color: var(--af-steel);
	max-width: 26ch;
}

.main-navigation .nav-link,
.main-navigation a.nav-link {
	color: var(--af-ink);
	font-weight: 500;
}

.main-navigation .current-menu-item > a,
.main-navigation .nav-link:hover,
.main-navigation .nav-link:focus {
	color: var(--af-forge) !important;
}

.search-form .search-field {
	border-radius: 8px 0 0 8px;
	border-color: var(--af-line);
}

.search-form .search-submit {
	border-radius: 0 8px 8px 0;
}

.form-control:focus,
.wpaec-field input:focus,
.wpaec-field textarea:focus,
.wpaec-field select:focus {
	border-color: var(--af-forge);
	box-shadow: 0 0 0 .2rem rgba(232, 96, 10, 0.15);
	outline: none;
}

/* ── Hero texture — blueprint grid + ember glow ─────────────────────────── */
.af-hero,
.wpb-hero {
	position: relative;
	background:
		radial-gradient(1000px 480px at 85% -10%, rgba(232, 96, 10, 0.30), transparent 60%),
		repeating-linear-gradient(0deg, transparent 0 47px, rgba(255, 255, 255, 0.035) 47px 48px),
		repeating-linear-gradient(90deg, transparent 0 47px, rgba(255, 255, 255, 0.035) 47px 48px),
		linear-gradient(160deg, var(--af-ink) 0%, var(--af-ink-2) 100%);
}

.af-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(to bottom, transparent 70%, rgba(21, 24, 29, 0.55) 100%);
}

.af-hero .container { position: relative; z-index: 1; }

/* Give the hero mock cards a touch more depth. */
.af-mock { box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5); }

/* ── Buttons ────────────────────────────────────────────────────────────── */
.btn-outline-light { border-color: rgba(255, 255, 255, 0.55); }
.btn-outline-light:hover { background: #fff; color: var(--af-ink); }

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce div.product form.cart .button,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button,
.wp-block-button__link {
	background-color: var(--af-forge) !important;
	border-color: var(--af-forge) !important;
	color: #fff !important;
	border-radius: 8px !important;
	font-weight: 600;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce .button.alt:hover,
.woocommerce div.product form.cart .button:hover,
.woocommerce .single_add_to_cart_button:hover,
.wc-block-components-button:hover,
.wp-block-button__link:hover {
	background-color: #cf5507 !important;
	border-color: #cf5507 !important;
}

/* ── Shop archive product cards ─────────────────────────────────────────── */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: #fff;
	border: 1px solid var(--af-line);
	border-radius: 14px;
	padding: 0 0 .25rem;
	overflow: hidden;
	text-align: left;
	box-shadow: 0 1px 2px rgba(27, 30, 35, 0.04);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(27, 30, 35, 0.14);
	border-color: #dcd7cf;
}

.woocommerce ul.products li.product a img {
	margin: 0 0 1rem;
	border-radius: 0;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 1rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--af-ink);
}

.woocommerce ul.products li.product .price {
	display: block;
	padding: .35rem 1rem 0;
	color: var(--af-forge) !important;
	font-weight: 700;
	font-size: 1.1rem;
}

.woocommerce ul.products li.product .price del {
	color: var(--af-steel);
	opacity: .6;
	font-weight: 400;
}

.woocommerce ul.products li.product .wpaec-loop-vendor {
	padding: .1rem 1rem;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart {
	margin: .7rem 1rem 1rem;
}

/* Parent theme renders products as Bootstrap .product-card cards. */
.product-card {
	border: 1px solid var(--af-line) !important;
	border-radius: 14px !important;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(27, 30, 35, 0.05) !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(27, 30, 35, 0.14) !important;
	border-color: #dcd7cf !important;
}

.product-card .card-img-top,
.product-card img.af-placeholder,
.product-card .product-card__img-link img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--af-ink);
	display: block;
}

.product-card .card-body {
	padding: 1rem 1.1rem 1.1rem;
}

.product-card .card-title a {
	color: var(--af-ink) !important;
	font-weight: 700;
}

.product-card .card-text.text-primary,
.product-card .price {
	color: var(--af-forge) !important;
	font-size: 1.15rem;
	font-weight: 700;
}

.product-card .wpaec-loop-vendor {
	font-size: .82rem;
	margin: -.25rem 0 .6rem;
}

.product-card .button {
	border-radius: 8px !important;
	width: 100%;
	text-align: center;
}

/* ── Single product page ────────────────────────────────────────────────── */
.woocommerce div.product div.images img,
.woocommerce div.product .woocommerce-product-gallery__image img {
	border-radius: 14px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--af-forge) !important;
	font-weight: 700;
	font-size: 1.6rem;
}

.woocommerce .woocommerce-breadcrumb {
	color: var(--af-steel);
	font-size: .85rem;
}

/* ── Footer ─────────────────────────────────────────────────────────────── */
/* Sticky footer — no white void under short pages. */
#page.site {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

#page.site > #colophon { margin-top: auto; }

.af-footer {
	background: var(--af-ink);
	color: #9aa0a8;
}

.af-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	color: #fff !important;
	font-family: "Archivo", sans-serif;
	font-weight: 800;
	font-size: 1.35rem;
	letter-spacing: -0.02em;
	text-decoration: none;
}

.af-footer__brand img { border-radius: 11px; }

.af-footer__tag {
	margin: 1rem 0 1.25rem;
	color: #8a9199;
	font-size: .95rem;
	line-height: 1.6;
	max-width: 40ch;
}

.af-footer__h {
	color: #fff;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}

.af-footer__links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.af-footer__links li { margin-bottom: .55rem; }

.af-footer__links a {
	color: #aeb4bd;
	text-decoration: none;
	font-size: .95rem;
	transition: color .15s ease;
}

.af-footer__links a:hover { color: var(--af-forge-2); }

.af-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	color: #7c828b;
	font-size: .9rem;
}

.af-footer__legal a {
	color: #aeb4bd;
	text-decoration: none;
	margin-left: 1.1rem;
}

.af-footer__legal a:hover { color: var(--af-forge-2); }

.af-footer .btn-primary {
	background: var(--af-forge);
	border-color: var(--af-forge);
	color: #fff;
}

.af-footer .btn-primary:hover { background: #cf5507; border-color: #cf5507; }

/* Back-to-top (wired by the parent theme's main.js via #back-to-top). */
.af-b2t {
	position: fixed;
	right: 1.25rem;
	bottom: 1.25rem;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	background: var(--af-forge);
	color: #fff;
	font-size: 1.1rem;
	box-shadow: 0 8px 22px rgba(232, 96, 10, 0.40);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, background .15s ease;
	z-index: 50;
	cursor: pointer;
}

.af-b2t.visible {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.af-b2t:hover { background: #cf5507; }

/* ── Vendor dashboard (AEC Market plugin surfaces) ──────────────────────── */
.wpaec-dashboard {
	max-width: 1120px;
	margin-inline: auto;
	gap: 2.5rem;
}

.wpaec-dashboard__nav a {
	color: var(--af-ink);
	border-radius: 9px;
	font-weight: 500;
}

.wpaec-dashboard__nav a:hover {
	color: var(--af-forge);
	background: var(--af-ember);
}

.wpaec-dashboard__nav li.is-active a {
	background: var(--af-ink);
	color: #fff;
}

.wpaec-stat {
	border: 1px solid var(--af-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(27, 30, 35, 0.04);
	transition: transform .18s ease, box-shadow .18s ease;
}

.wpaec-stat:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(27, 30, 35, 0.10);
}

.wpaec-stat__value { color: var(--af-forge); }

/* Buttons rendered by the plugin as <a class="button"> / <button class="wpaec-button"> */
.wpaec-button,
.wpaec-dashboard .button,
.wpaec-form .button,
.wpaec-table .button {
	display: inline-block;
	padding: .6rem 1.3rem;
	border-radius: 8px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	border: 1px solid transparent;
	cursor: pointer;
	transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.wpaec-button,
button.wpaec-button {
	background: var(--af-forge);
	color: #fff !important;
	border-color: var(--af-forge);
}

.wpaec-button:hover,
button.wpaec-button:hover {
	background: #cf5507;
	border-color: #cf5507;
	color: #fff !important;
}

/* Secondary buttons (View my public store, Edit, table actions) */
.wpaec-dashboard .button:not(.wpaec-button),
.wpaec-table .button:not(.wpaec-button) {
	background: #fff;
	color: var(--af-ink) !important;
	border: 1px solid var(--af-line);
}

.wpaec-dashboard .button:not(.wpaec-button):hover,
.wpaec-table .button:not(.wpaec-button):hover {
	border-color: var(--af-forge);
	color: var(--af-forge) !important;
}

.wpaec-table th {
	color: var(--af-steel);
	border-bottom: 2px solid var(--af-line);
}

.wpaec-table td { border-bottom: 1px solid var(--af-line); }

/* ── WooCommerce cart & checkout ────────────────────────────────────────── */
.woocommerce table.shop_table,
.woocommerce-cart table.cart {
	border: 1px solid var(--af-line);
	border-radius: 12px;
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

.woocommerce table.shop_table thead th,
.woocommerce table.shop_table th {
	background: var(--af-paper);
	color: var(--af-steel);
	border-bottom: 1px solid var(--af-line);
}

.woocommerce .cart_totals h2,
.woocommerce-checkout h3 { color: var(--af-ink); }

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.wc-block-components-totals-wrapper {
	background: #fff;
	border: 1px solid var(--af-line);
	border-radius: 12px;
}

.woocommerce a.remove {
	color: var(--af-forge) !important;
	border-color: var(--af-forge);
}

.woocommerce a.remove:hover {
	background: var(--af-forge) !important;
	color: #fff !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout input,
.wc-block-components-text-input input {
	border-radius: 8px;
	border-color: var(--af-line);
}

.woocommerce-info,
.woocommerce-message {
	border-top-color: var(--af-forge);
}

.woocommerce-message::before { color: var(--af-forge); }

/* Empty-cart cross-sell + related products use the same card treatment. */
.cross-sells ul.products li.product,
.related.products ul.products li.product { text-align: left; }

/* ───────── Forge Tools (AI) band on the front page ───────── */
.af-tools-band {
	position: relative;
	background:
		radial-gradient( ellipse at 78% 20%, rgba(232,96,10,.28), rgba(232,96,10,0) 60% ),
		linear-gradient( 160deg, #20242b 0%, #14171b 100% );
	background-color: #14171b;
	border-radius: 22px;
	margin: 0 auto 4rem;
	max-width: 1200px;
	overflow: hidden;
}
.af-tools-band::before {
	content: "";
	position: absolute; inset: 0;
	background-image: linear-gradient( rgba(92,100,112,.10) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba(92,100,112,.10) 1px, transparent 1px );
	background-size: 34px 34px;
	pointer-events: none;
}
.af-tools-band > .container { position: relative; z-index: 1; }
.af-eyebrow--on-dark { color: var(--af-forge-2); }
.af-tools-band .af-molten { color: var(--af-forge-2); }
.af-tools-sub { color: #c9cdd3; }

.af-toolcard {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: .5rem;
	height: 100%;
	padding: 1.4rem 1.3rem;
	border-radius: 16px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.09);
	text-decoration: none;
	transition: transform .15s ease, border-color .15s ease, background .15s ease;
}
.af-toolcard:hover {
	transform: translateY(-4px);
	border-color: var(--af-forge);
	background: rgba(232,96,10,.08);
}
.af-toolcard i {
	font-size: 1.7rem;
	color: var(--af-forge-2);
	background: rgba(232,96,10,.16);
	width: 52px; height: 52px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 13px;
	margin-bottom: .3rem;
}
.af-toolcard h3 {
	font-size: 1.02rem;
	font-weight: 700;
	color: #f4f2ef;
	margin: 0;
	line-height: 1.25;
}
.af-toolcard__cost {
	font-size: .82rem;
	font-weight: 700;
	color: var(--af-forge-2);
	text-transform: uppercase;
	letter-spacing: .05em;
}
.af-tools-cta-sub { color: #9aa1ab; font-size: .92rem; }
.af-tools-cta-sub a { color: var(--af-forge-2); font-weight: 700; text-decoration: none; margin-left: .35rem; }
.af-tools-cta-sub a:hover { text-decoration: underline; }

/* ───────── Shop promo banner for AI tools / credits ───────── */
.af-shop-promo {
	display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.4rem;
	background:
		radial-gradient( ellipse at 92% 25%, rgba(232,96,10,.28), rgba(232,96,10,0) 60% ),
		linear-gradient( 160deg, #20242b 0%, #14171b 100% );
	background-color: #14171b;
	color: #f4f2ef;
	border-radius: 16px;
	padding: 1.4rem 1.6rem;
	margin: 0 0 2rem;
}
.af-shop-promo__ic {
	font-size: 1.8rem; color: var(--af-forge-2);
	background: rgba(232,96,10,.16);
	width: 56px; height: 56px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 14px; flex: 0 0 auto;
}
.af-shop-promo__body { flex: 1 1 260px; }
.af-shop-promo__body strong { display: block; font-size: 1.06rem; font-weight: 700; }
.af-shop-promo__body span { color: #c9cdd3; font-size: .92rem; }
.af-shop-promo__actions { display: flex; gap: .5rem; flex-wrap: wrap; }

/* ───────── Featured builders + vendor directory ───────── */
.af-builder-card {
	display: flex; flex-direction: column; align-items: flex-start; gap: .5rem;
	height: 100%; padding: 1.6rem; border-radius: var(--af-radius);
	background: #fff; border: 1px solid var(--af-line); text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.af-builder-card:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(27,30,35,.10); border-color: var(--af-forge); }
.af-builder-avatar,
.wpaec-vendor-avatar {
	width: 56px; height: 56px; border-radius: 14px;
	background: linear-gradient(135deg, var(--af-forge-2), var(--af-forge));
	color: #fff; font-weight: 800; font-size: 1.5rem;
	display: inline-flex; align-items: center; justify-content: center;
}
.af-builder-name { font-size: 1.1rem; font-weight: 700; color: var(--af-ink); }
.af-builder-bio { color: #5c6470; font-size: .92rem; line-height: 1.45; }
.af-builder-link { margin-top: auto; color: var(--af-forge); font-weight: 700; font-size: .9rem; }

.wpaec-vendor-card { text-align: left; }
.wpaec-vendors-empty { text-align: center; padding: 2rem 0; }

/* ───────── Product-card social proof (ratings + sales) ───────── */
.product-card__meta { display: flex; align-items: center; gap: .7rem; margin-bottom: .6rem; font-size: .82rem; flex-wrap: wrap; }
.product-card__meta .star-rating { font-size: .78rem; color: var(--af-forge); margin: 0; float: none; }
.product-card__sales { color: #6b7280; white-space: nowrap; display: inline-flex; align-items: center; gap: .25rem; }
.product-card__sales .bi { color: #63c07a; }

/* ───────── Item facts + changelog (single product) ───────── */
.wpaec-item-facts { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.4rem; margin: 0 0 1.2rem; padding: .8rem 0; border-top: 1px solid var(--af-line); border-bottom: 1px solid var(--af-line); font-size: .9rem; }
.wpaec-fact strong { color: var(--af-steel); font-weight: 700; margin-right: .35rem; text-transform: uppercase; font-size: .7rem; letter-spacing: .05em; }
.wpaec-demo-btn { margin-left: auto; display: inline-flex; align-items: center; gap: .3rem; font-weight: 700; color: var(--af-forge); text-decoration: none; border: 1px solid var(--af-forge); border-radius: 8px; padding: .35rem .85rem; }
.wpaec-demo-btn:hover { background: var(--af-forge); color: #fff; }
.wpaec-changelog { white-space: pre-wrap; background: var(--af-paper); border: 1px solid var(--af-line); border-radius: 8px; padding: 1rem; font-size: .9rem; line-height: 1.5; }

/* ───────── Compatibility badges + shop filter pills ───────── */
.wpaec-compat { margin: 0 0 1rem; font-size: .9rem; }
.wpaec-compat__label { color: var(--af-steel); font-weight: 600; margin-right: .3rem; }
.wpaec-compat__badge { display: inline-block; margin: .2rem .3rem .2rem 0; padding: .2rem .6rem; border-radius: 999px; background: var(--af-ember); color: #a34505; font-size: .82rem; font-weight: 600; text-decoration: none; }
.wpaec-compat__badge:hover { background: var(--af-forge); color: #fff; }
.wpaec-compat-filter { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0 0 1.6rem; }
.wpaec-compat-filter__label { color: var(--af-steel); font-weight: 700; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; margin-right: .3rem; }
.wpaec-compat-pill { display: inline-block; padding: .3rem .8rem; border-radius: 999px; border: 1px solid var(--af-line); color: var(--af-ink); font-size: .85rem; font-weight: 600; text-decoration: none; }
.wpaec-compat-pill:hover { border-color: var(--af-forge); color: var(--af-forge); }
.wpaec-compat-pill.is-active { background: var(--af-forge); border-color: var(--af-forge); color: #fff; }

.af-builder-meta { color: #8a9099; font-size: .82rem; font-weight: 600; }

/* ───────── License tiers (Regular / Extended) selector ───────── */
.wpaec-license-tiers { display: grid; gap: .6rem; margin: 0 0 1.2rem; max-width: 440px; }
.wpaec-tier-opt { display: flex; gap: .6rem; align-items: flex-start; border: 1px solid var(--af-line); border-radius: 10px; padding: .8rem 1rem; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.wpaec-tier-opt:has(input:checked) { border-color: var(--af-forge); background: var(--af-ember); }
.wpaec-tier-opt input { margin-top: .3rem; }
.wpaec-tier-opt__body { display: flex; flex-direction: column; }
.wpaec-tier-opt__title { font-weight: 700; color: var(--af-ink); }
.wpaec-tier-opt__desc { color: var(--af-steel); font-size: .85rem; }

/* ───────── Credit-gated download UI ───────── */
.wpaec-credit-dl { margin: 1rem 0 1.4rem; padding: 1.2rem 1.4rem; border: 1px solid var(--af-line); border-radius: 12px; background: var(--af-paper); max-width: 480px; }
.wpaec-credit-price { color: var(--af-forge); font-weight: 700; }
.wpaec-dl-release { font-size: .85rem; color: var(--af-steel); margin: 0 0 .7rem; }
.wpaec-dl-balance { display: block; font-size: .82rem; color: var(--af-steel); margin-top: .55rem; }
.wpaec-dl-note { font-size: .8rem; color: var(--af-steel); margin: .7rem 0 0; }
.wpaec-dl-msg { margin-top: .6rem; font-size: .88rem; font-weight: 600; color: var(--af-forge); }
