/* ──────────────────────────────────────────────────────────────────────────
   Store — Forest skin (EDD `downloads` block + store landing), adapted from the
   Stitch "quiet botanical studio" direction to our token system. Tokens only
   (var(--wp--preset--*)), logical properties (RTL-safe), scoped under .asem-store.
   No Tailwind, no Material Symbols — self-hosted Space Grotesk/Inter/IBM Plex Sans Arabic + inline SVG.
   Bilingual: chrome uses [data-bilingual] (global rule in extras.css); the price
   prefix/cue mirror that with a [dir="rtl"] override (LTR text is the default).
   EDD structure (3.6.8): .edd-blocks__downloads.edd-blocks__columns-4 >
   article.edd-blocks__download > header(.image-link>img, h3>a) >
   .…-content(> p excerpt + .…-price > .edd_price_range_low/sep/high).
   ────────────────────────────────────────────────────────────────────────── */

/* ═══ Brand reconciliation tokens — mirrors the Asem DS effects layer:
   accent hairline, gradient-ivory card surface, pill gradient CTA, sheen.
   Expressed with theme presets so no hardcoded hex enters the store. ═══════ */
.asem-store, .asem-product, body.edd-page {
	--asem-accent-line: linear-gradient(90deg, transparent 0%,
		color-mix(in srgb, var(--wp--preset--color--primary) 65%, transparent) 25%,
		color-mix(in srgb, var(--wp--preset--color--primary) 95%, transparent) 50%,
		color-mix(in srgb, var(--wp--preset--color--primary) 65%, transparent) 75%,
		transparent 100%);
	--asem-card-bg: linear-gradient(155deg,
		var(--wp--preset--color--bg-elevated) 0%,
		var(--wp--preset--color--bg) 60%,
		var(--wp--preset--color--bg-deep) 100%);
	--asem-cta: linear-gradient(135deg, var(--wp--preset--color--primary), var(--wp--preset--color--primary-strong));
	--asem-cta-hover: linear-gradient(135deg, var(--wp--preset--color--primary-strong), var(--wp--preset--color--primary));
	--asem-sheen: linear-gradient(120deg, var(--wp--preset--color--primary), var(--wp--preset--color--primary-strong));
}

/* ═══ Hero — asymmetric editorial, inline-icon headline ════════════════════ */
.asem-store-hero { max-width: min(100%, 58rem); margin-inline: 0; text-align: start; }
.asem-store-hero__eyebrow {
	display: inline-block; margin: 0 0 var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small); font-weight: 700;
	letter-spacing: .18em; color: var(--wp--preset--color--primary);
}
.asem-store-hero__title {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700; font-size: clamp(2.2rem, 4.6vw, 3.6rem);
	line-height: 1.14; letter-spacing: -.01em; color: var(--wp--preset--color--text);
	text-wrap: pretty;
}
.asem-store-hero__icons {
	display: inline-flex; gap: .35rem; vertical-align: middle; margin-inline: .3rem;
}
.asem-store-hero__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 2.1rem; height: 2.1rem; border-radius: 12px;
	background: var(--asem-cta);
	color: var(--wp--preset--color--white);
	box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent);
}
.asem-store-hero__icon svg { width: 1.15rem; height: 1.15rem; }
.asem-store-hero__lead {
	margin: 0 0 var(--wp--preset--spacing--40); max-width: 56ch;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--lg); line-height: 1.7;
}
.asem-store-hero__cta {
	display: inline-flex; align-items: center; gap: .5rem;
	padding: .95rem 1.8rem; border-radius: 999px;
	background: var(--asem-cta); color: var(--wp--preset--color--white);
	font-weight: 700; text-decoration: none; line-height: 1;
	box-shadow: 0 16px 32px -12px color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent), inset 0 1px 0 rgba(255,255,255,.4);
	transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
}
.asem-store-hero__cta:hover { background: var(--asem-cta-hover); color: var(--wp--preset--color--white); transform: translateY(-2px); box-shadow: 0 22px 40px -14px color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent), inset 0 1px 0 rgba(255,255,255,.5); }
.asem-store-hero__cta:active { transform: translateY(1px); }

/* ═══ Section heading — clear rhythm above + below ═════════════════════════ */
.asem-store .asem-store-section-head {
	margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--2xl); font-weight: 700;
	scroll-margin-top: 5rem;
}

/* ═══ Product grid — row of 4 → 2×2 → 1, equal-height ═════════════════════ */
.asem-store .edd-blocks__downloads {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--40);
	align-items: stretch;
	margin: 0; padding: 0; list-style: none;
}
@media (max-width: 1024px) {
	.asem-store .edd-blocks__downloads { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.asem-store .edd-blocks__downloads { grid-template-columns: minmax(0, 1fr); }
}

/* ═══ Card — Stitch product card on Forest tokens ═════════════════════════
   Start-aligned (RTL), floating app-icon tile → name → 2-line description
   (fixed slot, grows) → footer row (price anchor + "details" cue) on a
   hairline. The whole card is the product link (stretched title link). */
.asem-store .edd-blocks__download {
	position: relative;
	display: flex; flex-direction: column; align-items: stretch; text-align: start;
	height: 100%; margin: 0;
	padding: var(--wp--preset--spacing--40);
	background: var(--asem-card-bg);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
	border-radius: 1.618rem;
	box-shadow: 0 16px 32px -8px color-mix(in srgb, var(--wp--preset--color--primary) 9%, transparent);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
/* Signature accent hairline across the top edge (fades to transparent at the
   rounded corners, so no overflow clipping is needed). */
.asem-store .edd-blocks__download::before {
	content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; height: 2px;
	background: var(--asem-accent-line); pointer-events: none; z-index: 2;
}
.asem-store .edd-blocks__download:hover {
	transform: translateY(-5px);
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 26px 48px -16px color-mix(in srgb, var(--wp--preset--color--primary) 24%, transparent);
}

/* Floating square app-icon tile (top, lifts off the card). */
.asem-store .edd-blocks__download-header {
	display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin: 0; width: 100%;
}
.asem-store .edd-blocks__download-image-link {
	display: inline-flex; margin-block-end: var(--wp--preset--spacing--40); border-radius: 20px;
}
.asem-store .edd-blocks__download-image {
	width: 84px; height: 84px; max-width: 84px; object-fit: cover;
	display: block; border-radius: 20px;
	box-shadow: 0 14px 26px -12px color-mix(in srgb, var(--wp--preset--color--primary) 60%, transparent);
	transition: transform .2s ease;
}
.asem-store .edd-blocks__download:hover .edd-blocks__download-image { transform: translateY(-2px); }
.asem-store .edd-blocks__download-header h3 {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--xl); font-weight: 700; line-height: 1.4;
}
.asem-store .edd-blocks__download-header h3 a { text-decoration: none; color: var(--wp--preset--color--text); }
.asem-store .edd-blocks__download-header h3 a:hover { color: var(--wp--preset--color--primary); }
/* Stretched link — whole card opens the product page. */
.asem-store .edd-blocks__download-header h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* Description — fixed 2-line slot so every card's footer aligns. */
.asem-store .edd-blocks__download-content {
	display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; margin: 0;
}
.asem-store .edd-blocks__download-content p {
	margin: 0 0 var(--wp--preset--spacing--40); flex: 1 1 auto;
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--base); line-height: 1.65;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
	overflow: hidden; min-height: calc(1.65em * 2);
}

/* Footer row — hairline divider, "تبدأ من $X" anchor + "عرض التفاصيل ←" cue. */
.asem-store .edd-blocks__download-price {
	display: flex; align-items: center; justify-content: space-between; gap: .5rem;
	margin-block-start: auto; padding-block-start: var(--wp--preset--spacing--30);
	border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--border) 70%, transparent);
	font-weight: 700; color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--small);
}
.asem-store .edd-blocks__download-price .edd_price_range_sep,
.asem-store .edd-blocks__download-price .edd_price_range_high { display: none; }
.asem-store .edd-blocks__download-price .edd_price_range_low::before {
	content: "From "; font-weight: 600; color: var(--wp--preset--color--muted);
}
[dir="rtl"] .asem-store .edd-blocks__download-price .edd_price_range_low::before { content: "تبدأ من "; }
.asem-store .edd-blocks__download-price::after {
	content: "View details →"; color: var(--wp--preset--color--primary); font-weight: 700;
}
[dir="rtl"] .asem-store .edd-blocks__download-price::after { content: "عرض التفاصيل ←"; }
.asem-store .edd-blocks__download:hover .edd-blocks__download-price::after { text-decoration: underline; }

/* ═══ Trust bar — calm Surface panel, inline items, line icons ════════════ */
.asem-store-trust {
	display: flex; flex-wrap: wrap; justify-content: space-between;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	margin: 0; padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	list-style: none;
	background: var(--wp--preset--color--bg-elevated);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px;
}
.asem-store-trust__item {
	display: inline-flex; align-items: center; gap: .6rem;
	font-weight: 600; color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--small);
}
.asem-store-trust__ic {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.4rem; height: 1.4rem; flex: none; color: var(--wp--preset--color--primary);
}
.asem-store-trust__ic svg { width: 1.4rem; height: 1.4rem; }
@media (max-width: 760px) {
	.asem-store-trust { justify-content: flex-start; gap: var(--wp--preset--spacing--40); }
	.asem-store-trust__item { flex: 1 1 40%; }
}

/* ═══ FAQ — bordered Surface panel, hairline rows, Forest +/− ═════════════ */
.asem-store-faq {
	margin: 0; border: 1px solid var(--wp--preset--color--border); border-radius: 18px;
	overflow: hidden; background: var(--wp--preset--color--bg-elevated);
}
.asem-store-faq__row { border-block-end: 1px solid var(--wp--preset--color--border); }
.asem-store-faq__row:last-child { border-block-end: 0; }
.asem-store-faq__q {
	display: flex; align-items: center; justify-content: space-between; gap: 1rem;
	padding: 1.15rem var(--wp--preset--spacing--40); cursor: pointer; list-style: none;
	font-weight: 700; color: var(--wp--preset--color--text); text-align: start;
}
.asem-store-faq__q::-webkit-details-marker { display: none; }
.asem-store-faq__q::after {
	content: "+"; flex: none; font-size: 1.5rem; line-height: 1; font-weight: 400;
	color: var(--wp--preset--color--primary); transition: transform .2s ease;
}
.asem-store-faq__row[open] .asem-store-faq__q::after { content: "\2212"; }
.asem-store-faq__a {
	margin: 0; padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--muted); line-height: 1.7;
}

/* ═══ Focus + motion safety ═══════════════════════════════════════════════ */
.asem-store a:focus-visible,
.asem-store .edd-blocks__download-header h3 a:focus-visible,
.asem-store-faq__q:focus-visible,
.asem-store-hero__cta:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; border-radius: 8px;
}
@media (prefers-reduced-motion: reduce) {
	.asem-store .edd-blocks__download,
	.asem-store .edd-blocks__download-image,
	.asem-store-hero__cta,
	.asem-store-faq__q::after { transition: none; }
}

/* ═══ Product page (single-download) ═════════════════════════════════════ */
.asem-product .asem-prod-hero { display: flex; align-items: center; gap: var(--wp--preset--spacing--40); flex-wrap: wrap; max-width: 1180px; margin-inline: auto; }
.asem-prod-hero__icon {
	width: 112px; height: 112px; flex: none; border-radius: 26px; object-fit: cover;
	box-shadow: 0 20px 40px -16px color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent);
}
.asem-prod-hero__body { flex: 1 1 22rem; text-align: start; }
.asem-prod-hero__eyebrow {
	display: inline-block; margin-block-end: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small); font-weight: 700; letter-spacing: .18em;
	color: var(--wp--preset--color--primary); text-decoration: none;
}
.asem-prod-hero__eyebrow:hover { text-decoration: underline; }
.asem-prod-hero__name {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-family: var(--wp--preset--font-family--display); font-weight: 700;
	font-size: var(--wp--preset--font-size--3xl); line-height: 1.15; color: var(--wp--preset--color--text); text-wrap: balance;
}
.asem-prod-hero__tagline { margin: 0 0 var(--wp--preset--spacing--30); max-width: 60ch; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--lg); line-height: 1.6; }
.asem-prod-hero__actions { display: flex; align-items: center; gap: var(--wp--preset--spacing--30); flex-wrap: wrap; }
.asem-prod-hero__chip {
	display: inline-flex; align-items: baseline; gap: .25rem; padding: .45rem .95rem; border-radius: 999px;
	background: var(--wp--preset--color--bg-deep); color: var(--wp--preset--color--primary);
	font-weight: 800; font-size: var(--wp--preset--font-size--base);
}
.asem-prod-hero__cta {
	display: inline-flex; align-items: center; gap: .4rem; padding: .85rem 1.6rem; border-radius: 999px; line-height: 1;
	background: var(--asem-cta); color: var(--wp--preset--color--white); font-weight: 700; text-decoration: none;
	box-shadow: 0 12px 26px -12px color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent), inset 0 1px 0 rgba(255,255,255,.4);
	transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
}
.asem-prod-hero__cta:hover { background: var(--asem-cta-hover); color: var(--wp--preset--color--white); transform: translateY(-2px); box-shadow: 0 18px 34px -14px color-mix(in srgb, var(--wp--preset--color--primary) 55%, transparent), inset 0 1px 0 rgba(255,255,255,.5); }
.asem-prod-hero__cta:active { transform: translateY(1px); }

/* Value block + feature highlights (authored in post_content). */
.asem-product .asem-pv { max-width: 70ch; margin-block: var(--wp--preset--spacing--50) 0; }
.asem-product .asem-pv__lead { font-size: var(--wp--preset--font-size--lg); line-height: 1.8; color: var(--wp--preset--color--text); margin: 0 0 var(--wp--preset--spacing--40); }
.asem-product .asem-pv__points { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--wp--preset--spacing--20); }
.asem-product .asem-pv__points li { display: flex; gap: .5rem; align-items: flex-start; color: var(--wp--preset--color--text); }
.asem-product .asem-pv__points li::before { content: "\2713"; color: var(--wp--preset--color--primary); font-weight: 800; }

.asem-product .asem-pf {
	display: grid; gap: var(--wp--preset--spacing--30);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); margin-block: var(--wp--preset--spacing--50) 0;
}
.asem-pf__item { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--40); background: var(--wp--preset--color--bg-elevated); border: 1px solid var(--wp--preset--color--border); border-radius: 18px; }
.asem-pf__ic { display: inline-flex; width: 2.4rem; height: 2.4rem; align-items: center; justify-content: center; border-radius: 12px; background: var(--wp--preset--color--bg-deep); color: var(--wp--preset--color--primary); }
.asem-pf__ic svg { width: 1.35rem; height: 1.35rem; }
.asem-pf__t { margin: 0; font-weight: 700; font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--text); }
.asem-pf__d { margin: 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--base); line-height: 1.55; }

/* Pricing tiers — 3 equal-top columns; Pro highlighted by color/badge, not height. */
.asem-pricing { display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.asem-pricing__tier { position: relative; display: flex; flex-direction: column; gap: var(--wp--preset--spacing--20); padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40); background: var(--asem-card-bg); border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent); border-radius: 1.618rem; }
.asem-pricing__tier::before { content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; height: 2px; background: var(--asem-accent-line); pointer-events: none; border-start-start-radius: inherit; border-start-end-radius: inherit; }
.asem-pricing__tier.is-featured::before { height: 3px; background: var(--asem-sheen); }
.asem-pricing__tier.is-featured {
	border-color: var(--wp--preset--color--primary);
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--primary), 0 24px 46px -24px color-mix(in srgb, var(--wp--preset--color--primary) 40%, transparent);
	background: linear-gradient(180deg, color-mix(in srgb, var(--wp--preset--color--primary) 6%, var(--wp--preset--color--bg-elevated)), var(--wp--preset--color--bg-elevated));
}
.asem-pricing__badge { position: absolute; inset-block-start: -.8rem; inset-inline-start: var(--wp--preset--spacing--40); padding: .25rem .75rem; border-radius: 999px; background: var(--wp--preset--color--primary); color: var(--wp--preset--color--white); font-size: var(--wp--preset--font-size--xs); font-weight: 700; }
.asem-pricing__name { margin: 0; font-size: var(--wp--preset--font-size--xl); font-weight: 800; color: var(--wp--preset--color--text); }
.asem-pricing__price { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: var(--wp--preset--font-size--3xl); line-height: 1; color: var(--wp--preset--color--primary); }
.asem-pricing__seats { color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); font-weight: 600; }
.asem-pricing__feats { list-style: none; margin: var(--wp--preset--spacing--20) 0; padding: 0; display: grid; gap: var(--wp--preset--spacing--20); flex: 1 1 auto; }
.asem-pricing__feats li { display: flex; gap: .5rem; align-items: flex-start; font-size: var(--wp--preset--font-size--base); color: var(--wp--preset--color--text); line-height: 1.5; }
.asem-pricing__check { flex: none; color: var(--wp--preset--color--primary); margin-block-start: .15rem; }
.asem-pricing__buy { margin-block-start: auto; }
.asem-pricing__buy .edd_purchase_submit_wrapper, .asem-pricing__buy form { margin: 0; }
.asem-pricing__buy .edd-submit, .asem-pricing__buy .button, .asem-pricing__buy a.edd-add-to-cart, .asem-pricing__buy a.asem-pricing__btn {
	display: flex; width: 100%; box-sizing: border-box; justify-content: center; align-items: center; gap: .4rem;
	padding: .8rem 1.2rem; border-radius: 999px; border: 1px solid transparent;
	font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; line-height: 1;
	background: var(--asem-cta); color: var(--wp--preset--color--white);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
	transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
}
.asem-pricing__buy .edd-submit:hover, .asem-pricing__buy .button:hover, .asem-pricing__buy a.edd-add-to-cart:hover { background: var(--asem-cta-hover); color: var(--wp--preset--color--white); transform: translateY(-2px); }
/* After add-to-cart, EDD hides the add button and reveals its own «إتمام الطلب»
   link (.edd_go_to_checkout, inline display:none until then). Mark it as the
   in-cart CTA with a ✓ glyph (bilingual-safe). Never force-hide that link — the
   buyer must keep a path to checkout. Licenses are one-per-tier → no quantity. */
.asem-pricing__buy .edd_go_to_checkout::before { content: "\2713\00a0"; font-weight: 800; }
.asem-pricing__tier:not(.is-featured) .asem-pricing__buy .edd-submit,
.asem-pricing__tier:not(.is-featured) .asem-pricing__buy .button,
.asem-pricing__tier:not(.is-featured) .asem-pricing__buy a.edd-add-to-cart { background: transparent; color: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--border); }
.asem-pricing__tier:not(.is-featured) .asem-pricing__buy .edd-submit:hover,
.asem-pricing__tier:not(.is-featured) .asem-pricing__buy a.edd-add-to-cart:hover { background: var(--wp--preset--color--bg-deep); color: var(--wp--preset--color--primary); }
.asem-product a:focus-visible, .asem-pricing__buy .edd-submit:focus-visible { outline: 2px solid var(--wp--preset--color--primary); outline-offset: 3px; border-radius: 8px; }
@media (max-width: 900px) { .asem-pricing { grid-template-columns: minmax(0,1fr); max-width: 30rem; margin-inline: auto; } }
@media (prefers-reduced-motion: reduce) { .asem-prod-hero__cta, .asem-pricing__buy .edd-submit { transition: none; } }

/* ═══ EDD checkout — light Forest skin ════════════════════════════════════
   store.css is page-gated (functions.php) to also load on the EDD checkout +
   success pages so the cart→checkout flow keeps the Forest identity. Scoped to
   EDD's own .edd-checkout body class — never touches catalog/product surfaces.
   Fonts + RTL come from the theme globally; this only brand-skins the actions. */
body.edd-checkout .edd-submit,
body.edd-checkout input.edd-submit,
body.edd-checkout button.edd-button,
body.edd-checkout .edd-blocks__button,
body.edd-checkout #edd-purchase-button,
body.edd-checkout #edd_purchase_submit input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
	padding: .8rem 1.7rem; border-radius: 999px; border: 1px solid transparent;
	background: var(--asem-cta); color: var(--wp--preset--color--white);
	font-weight: 700; line-height: 1; cursor: pointer; text-decoration: none;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.4);
	transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
}
body.edd-checkout .edd-submit:hover,
body.edd-checkout button.edd-button:hover,
body.edd-checkout .edd-blocks__button:hover,
body.edd-checkout #edd-purchase-button:hover {
	background: var(--asem-cta-hover); color: var(--wp--preset--color--white); transform: translateY(-2px);
}
/* Empty-cart state → calm brand panel with the signature accent hairline. */
body.edd-checkout .edd_empty_cart {
	position: relative; max-width: 38rem; margin-inline: auto;
	padding: var(--wp--preset--spacing--50);
	background: var(--asem-card-bg);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
	border-radius: 1.618rem; text-align: center; color: var(--wp--preset--color--muted);
}
body.edd-checkout .edd_empty_cart::before {
	content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; height: 2px;
	background: var(--asem-accent-line); pointer-events: none;
	border-start-start-radius: inherit; border-start-end-radius: inherit;
}
body.edd-checkout .edd_empty_cart a { color: var(--wp--preset--color--primary); font-weight: 700; }
@media (prefers-reduced-motion: reduce) {
	body.edd-checkout .edd-submit, body.edd-checkout #edd-purchase-button { transition: none; }
}

/* Checkout cart + form panels (EDD 3.x block markup: .edd-blocks-*). */
body.edd-checkout .edd-blocks-form { max-width: 720px; margin-inline: auto; }
body.edd-checkout .edd-blocks-cart {
	position: relative; margin: 0 0 var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--20);
	list-style: none; overflow: hidden;
	background: var(--asem-card-bg);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
	border-radius: 1.272rem;
}
body.edd-checkout .edd-blocks-cart::before {
	content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; height: 2px;
	background: var(--asem-accent-line); pointer-events: none;
}
body.edd-checkout .edd-blocks-cart__items { list-style: none; margin: 0; padding: 0; }
body.edd-checkout .edd-blocks-cart__row {
	padding: .85rem 1rem; border-block-end: 1px solid var(--wp--preset--color--border);
}
body.edd-checkout .edd-blocks-cart__row:last-child { border-block-end: 0; }
body.edd-checkout .edd-blocks-cart__row-header { color: var(--wp--preset--color--muted); font-weight: 700; font-size: var(--wp--preset--font-size--small); text-transform: uppercase; letter-spacing: .04em; }
body.edd-checkout .edd-blocks-cart__row-footer { font-weight: 700; color: var(--wp--preset--color--text); }

/* Form sections + fields. */
body.edd-checkout fieldset { border: 0; margin: 0 0 var(--wp--preset--spacing--40); padding: 0; }
body.edd-checkout legend {
	font-family: var(--wp--preset--font-family--display); font-weight: 700;
	font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--text);
	margin-block-end: var(--wp--preset--spacing--20); padding: 0; width: 100%;
}
body.edd-checkout .edd-blocks-form__group { margin-block-end: var(--wp--preset--spacing--30); }
body.edd-checkout .edd-blocks-form__group label { display: inline-block; margin-block-end: .35rem; font-weight: 600; color: var(--wp--preset--color--text); }
body.edd-checkout .edd-input,
body.edd-checkout .edd-select,
body.edd-checkout input[type="text"],
body.edd-checkout input[type="email"],
body.edd-checkout input[type="tel"],
body.edd-checkout input[type="password"] {
	width: 100%; padding: .7rem .9rem; font: inherit; color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg-elevated);
	border: 1px solid var(--wp--preset--color--border); border-radius: .75rem;
	transition: border-color .18s ease, box-shadow .18s ease;
}
body.edd-checkout .edd-input:focus,
body.edd-checkout .edd-select:focus,
body.edd-checkout input:focus {
	outline: none; border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--wp--preset--color--primary) 22%, transparent);
}
body.edd-checkout .edd-gateway,
body.edd-checkout #edd_payment_mode_select label {
	display: inline-flex; align-items: center; gap: .4rem; color: var(--wp--preset--color--text); font-weight: 600;
}

/* Secondary actions (discount apply, remove) → quiet outline; later source
   order overrides the primary pill where the markup also carries .edd-submit. */
body.edd-checkout .edd-button-secondary,
body.edd-checkout .edd-apply-discount {
	background: transparent; color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--border); border-radius: 999px;
	padding: .55rem 1.1rem; box-shadow: none; font-weight: 700;
}
body.edd-checkout .edd-button-secondary:hover,
body.edd-checkout .edd-apply-discount:hover { background: var(--wp--preset--color--bg-deep); color: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); transform: none; }
body.edd-checkout .edd-blocks-cart__action-remove {
	background: transparent; border: 0; box-shadow: none; color: var(--wp--preset--color--muted); padding: .25rem .5rem; border-radius: 999px;
}
body.edd-checkout .edd-blocks-cart__action-remove:hover { color: var(--wp--preset--color--primary); background: transparent; transform: none; }

/* Visible × on EDD's STANDARD remove control. EDD ships the link with only a
   .screen-reader-text label (1px, clipped) and expects its own stylesheet to
   draw the glyph; the Forest skin replaced that, leaving the remove link
   invisible + unclickable. Restore a tappable × on EDD's own element — no
   custom delete logic; the href/nonce/AJAX stay EDD's. (NB: mirrored inline by
   the arabdown-store-commerce plugin so the fix ships cache-proof to live.) */
body.edd-checkout .edd_cart_remove_item_btn,
body.edd-checkout .edd-blocks-cart__action-remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 1.9rem; height: 1.9rem; min-width: 1.9rem; line-height: 1;
	margin-inline-start: .5rem; vertical-align: middle; cursor: pointer; text-decoration: none;
}
body.edd-checkout .edd_cart_remove_item_btn::before,
body.edd-checkout .edd-blocks-cart__action-remove::before {
	content: "\00d7"; font-size: 1.3rem; font-weight: 700; line-height: 1;
}
body.edd-checkout .edd_cart_remove_item_btn:hover { color: var(--wp--preset--color--primary); }

/* Standard EDD quantity field — renders only when item-quantities are enabled.
   Keep it Forest-styled and never hide it (so it appears the moment the feature
   is turned on). */
body.edd-checkout input.edd-item-quantity {
	width: 4.5rem; padding: .4rem .55rem; font: inherit; text-align: center;
	color: var(--wp--preset--color--text);
	background: var(--wp--preset--color--bg-elevated);
	border: 1px solid var(--wp--preset--color--border); border-radius: .6rem;
}

/* ═══ Premium product sections — section heads, problems, feature solve-line, FAQ ═══ */
.asem-product .asem-sec-head {
	margin-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--2xl); font-weight: 700;
	color: var(--wp--preset--color--text); scroll-margin-top: 5rem;
}

/* Problems it solves — pain ✗ → fix ✓ cards */
.asem-product .asem-prob__grid {
	display: grid; gap: var(--wp--preset--spacing--30);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr));
}
.asem-prob__card {
	padding: var(--wp--preset--spacing--40);
	background: var(--wp--preset--color--bg-elevated);
	border: 1px solid var(--wp--preset--color--border); border-radius: 18px;
}
.asem-prob__pain {
	margin: 0 0 .6rem; font-weight: 700; color: var(--wp--preset--color--text);
	display: flex; gap: .5rem; align-items: flex-start; line-height: 1.55;
}
.asem-prob__pain::before { content: "\2717"; color: var(--wp--preset--color--accent); font-weight: 800; flex: 0 0 auto; }
.asem-prob__fix {
	margin: 0; color: var(--wp--preset--color--muted); line-height: 1.7;
	display: flex; gap: .5rem; align-items: flex-start;
}
.asem-prob__fix::before { content: "\2713"; color: var(--wp--preset--color--primary); font-weight: 800; flex: 0 0 auto; }

/* Feature card: tier tag + «يحلّ» solve line (extends .asem-pf) */
.asem-pf__item { position: relative; }
.asem-pf__tag {
	position: absolute; inset-block-start: var(--wp--preset--spacing--30); inset-inline-end: var(--wp--preset--spacing--30);
	padding: .15rem .6rem; border-radius: 999px; font-size: var(--wp--preset--font-size--xs); font-weight: 700;
	color: var(--wp--preset--color--primary-strong);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 12%, transparent);
}
.asem-pf__solve {
	margin: .15rem 0 0; font-size: var(--wp--preset--font-size--small); line-height: 1.5;
	color: var(--wp--preset--color--primary-strong); display: flex; gap: .45rem; align-items: baseline;
}
.asem-pf__solve span {
	flex: 0 0 auto; font-size: var(--wp--preset--font-size--xs); font-weight: 800;
	padding: .05rem .45rem; border-radius: 6px;
	color: var(--wp--preset--color--white); background: var(--wp--preset--color--primary);
}

/* Product FAQ — native <details> accordion */
.asem-product .asem-prod-faq { max-width: 60rem; }
.asem-prod-faq__list { display: grid; gap: .6rem; }
.asem-prod-faq__item {
	border: 1px solid var(--wp--preset--color--border); border-radius: 14px;
	background: var(--wp--preset--color--bg-elevated); overflow: hidden;
}
.asem-prod-faq__q {
	cursor: pointer; list-style: none; position: relative;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	padding-inline-end: 2.6rem; font-weight: 700; color: var(--wp--preset--color--text);
}
.asem-prod-faq__q::-webkit-details-marker { display: none; }
.asem-prod-faq__q::after {
	content: "+"; position: absolute; inset-inline-end: var(--wp--preset--spacing--40);
	inset-block-start: 50%; transform: translateY(-50%);
	font-size: 1.4rem; font-weight: 400; line-height: 1; color: var(--wp--preset--color--primary);
}
.asem-prod-faq__item[open] .asem-prod-faq__q { color: var(--wp--preset--color--primary-strong); }
.asem-prod-faq__item[open] .asem-prod-faq__q::after { content: "\2212"; }
.asem-prod-faq__a {
	padding: 0 var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--muted); line-height: 1.85;
}

/* ── Single-tier purchase block (theme products) + EDD buy-button safety-net ── */
.asem-prod-buy { max-width: 40rem; margin-block: var(--wp--preset--spacing--50); margin-inline: auto; scroll-margin-top: 5rem; }
.asem-prod-buy__card {
	position: relative; border: 1px solid var(--wp--preset--color--border);
	border-radius: 18px; background: var(--asem-card-bg);
	box-shadow: var(--asem-card-shadow);
	padding: var(--wp--preset--spacing--50); text-align: center; overflow: hidden;
}
.asem-prod-buy__card::before {
	content: ""; position: absolute; inset-inline: 0; inset-block-start: 0; height: 2px;
	background: var(--asem-accent-line, var(--wp--preset--color--primary));
}
.asem-prod-buy__eyebrow {
	display: inline-block; font-size: var(--wp--preset--font-size--xs); font-weight: 700;
	letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--muted);
	margin-block-end: var(--wp--preset--spacing--20);
}
.asem-prod-buy__price {
	font-family: var(--wp--preset--font-family--display); font-weight: 700;
	font-size: var(--wp--preset--font-size--4xl); line-height: 1; color: var(--wp--preset--color--primary);
}
.asem-prod-buy__note { margin: .4rem 0 0; color: var(--wp--preset--color--muted); font-size: var(--wp--preset--font-size--small); }
.asem-prod-buy__feats {
	list-style: none; margin: var(--wp--preset--spacing--40) auto; padding: 0; display: grid; gap: .55rem;
	text-align: start; max-width: 24rem;
}
.asem-prod-buy__feats li { display: flex; gap: .55rem; align-items: flex-start; color: var(--wp--preset--color--text); font-size: var(--wp--preset--font-size--base); line-height: 1.5; }
.asem-prod-buy__feats li::before { content: "\2713"; color: var(--wp--preset--color--primary); font-weight: 800; flex: 0 0 auto; }

/* Any bare EDD purchase button inside the product main (e.g. a single-tier
   [purchase_link]) gets the branded pill, even outside .asem-pricing__buy.
   The :not(.edd-no-js) keeps EDD's own JS/no-JS toggle in charge (without it,
   this rule out-ranks EDD's hide and the no-JS fallback button shows too). */
.asem-product .edd_purchase_submit_wrapper { display: flex; justify-content: center; margin-block-start: var(--wp--preset--spacing--30); }
.asem-product .edd_purchase_submit_wrapper .edd-submit:not(.edd-no-js),
.asem-product .edd_purchase_submit_wrapper a.edd-add-to-cart:not(.edd-no-js),
.asem-product .edd_purchase_submit_wrapper .edd_go_to_checkout {
	display: inline-flex; box-sizing: border-box; justify-content: center; align-items: center; gap: .4rem;
	padding: .9rem 1.9rem; border-radius: 999px; border: 1px solid transparent;
	font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; line-height: 1;
	background: var(--asem-cta); color: var(--wp--preset--color--white);
	box-shadow: 0 12px 26px -12px color-mix(in srgb, var(--wp--preset--color--primary) 45%, transparent), inset 0 1px 0 rgba(255,255,255,.4);
	transition: background .2s ease, transform .18s ease, box-shadow .2s ease;
}
.asem-product .edd_purchase_submit_wrapper .edd-submit:not(.edd-no-js):hover,
.asem-product .edd_purchase_submit_wrapper .edd_go_to_checkout:hover {
	background: var(--asem-cta-hover); color: var(--wp--preset--color--white); transform: translateY(-2px);
}
.asem-product .edd_purchase_submit_wrapper .edd-loading { display: none; }

/* ── Mobile single-column: prevent card overflow/overlap (2026-06) ─────────
   With height:100% + an auto-sized grid row, a shorter card (e.g. one without
   a thumbnail) overflowed its row downward into the next card. Natural height
   in the single-column layout makes each card's box equal its own row. */
@media (max-width: 600px) {
	.asem-store .edd-blocks__download { height: auto; }
	.asem-store .edd-blocks__downloads { gap: 1.5rem; }
}
