/* ==========================================================================
   Nexora Commerce — inner pages
   Loaded on content pages using the document layout (page.php) and wherever
   an inner-page widget (Page Hero, Info Cards, COA Library, CTA Panel, Key
   Facts, Rich Text) is used.

   Layout language: tall tinted hero with product imagery, centred section
   headings, white cards on soft-grey bands, pastel tiles for stats/steps,
   compact dark pills.
   ========================================================================== */

:root {
	--nxc-tint-warm: #fdf7df;
	--nxc-tint-warm-ink: #8a5a00;
	--nxc-success-tint: #e9f8ef;
	--nxc-danger-tint: #fdecee;
}

.nxc-tone--success { --tone: var(--nxc-success-tint); --tone-ink: var(--nxc-color-success); }
.nxc-tone--danger { --tone: var(--nxc-danger-tint); --tone-ink: var(--nxc-color-sale); }

/* 1. Page hero ------------------------------------------------------------ */
.nxc-phero {
	position: relative;
	isolation: isolate;
	display: flex;
	align-items: center;
	min-height: clamp(380px, 52vh, 540px);
	overflow: hidden;
	padding-block: clamp(3.5rem, 2.5rem + 3.5vw, 5.5rem);
	text-align: center;
}
.nxc-phero > .nxc-container { width: 100%; }
.nxc-phero--compact { min-height: clamp(320px, 42vh, 440px); }
.nxc-phero--sky { background: linear-gradient(180deg, var(--nxc-color-blue-50) 0%, var(--nxc-color-blue-100) 100%); }
.nxc-phero--lilac { background: linear-gradient(180deg, #f1f3fb 0%, #e8ecf8 100%); }
.nxc-phero--mint { background: linear-gradient(180deg, var(--nxc-color-cyan-50) 0%, #def3fc 100%); }
.nxc-phero--sand { background: linear-gradient(180deg, #fefaea 0%, var(--nxc-tint-warm) 100%); }

.nxc-phero__inner { position: relative; z-index: 2; }
.nxc-phero__copy { max-width: 720px; margin-inline: auto; }
.nxc-phero__pill {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin: 0 0 var(--nxc-space-5);
	padding: .35rem .8rem;
	border: 1px solid rgba(1, 25, 51, .06);
	border-radius: var(--nxc-radius-pill);
	background: rgba(255, 255, 255, .9);
	box-shadow: var(--nxc-shadow-xs);
	color: var(--nxc-color-ink);
	font-size: var(--nxc-fs-xs);
	font-weight: var(--nxc-fw-medium);
	line-height: 1.3;
}
.nxc-phero__pill .nxc-icon { width: 14px; height: 14px; color: var(--nxc-color-primary); }
.nxc-phero__dot { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #22c55e; }
.nxc-phero__dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; background: rgba(34, 197, 94, .25); animation: nxc-phero-pulse 2.4s var(--nxc-ease) infinite; }
.nxc-phero__title {
	margin: 0 0 var(--nxc-space-5);
	color: var(--nxc-color-heading);
	font-size: clamp(2.375rem, 1.6rem + 3vw, 4rem);
	font-weight: var(--nxc-fw-bold);
	line-height: 1.05;
	letter-spacing: -.035em;
	text-wrap: balance;
}
.nxc-phero__title .nxc-serif { font-style: italic; font-weight: 500; }
.nxc-phero__text { max-width: 600px; margin: 0 auto; color: var(--nxc-color-text); font-size: clamp(1rem, .95rem + .3vw, 1.1875rem); line-height: 1.6; opacity: .82; text-wrap: pretty; }
.nxc-phero__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: var(--nxc-space-3) var(--nxc-space-5); margin-top: var(--nxc-space-8); }
.nxc-phero__actions .nxc-btn .nxc-icon:first-child { width: 16px; height: 16px; }
.nxc-phero__link { display: inline-flex; align-items: center; gap: .35rem; color: var(--nxc-color-ink); font-size: var(--nxc-fs-sm); font-weight: var(--nxc-fw-medium); text-decoration: none; }
.nxc-phero__link .nxc-icon { width: 15px; height: 15px; transition: transform var(--nxc-dur) var(--nxc-ease); }
.nxc-phero__link:hover { color: var(--nxc-color-primary); }
.nxc-phero__link:hover .nxc-icon--chevron-down { transform: translateY(2px); }
.nxc-phero__link:hover .nxc-icon--arrow-right { transform: translateX(3px); }
.nxc-phero__scroll { position: absolute; bottom: 1.25rem; left: 50%; z-index: 2; color: var(--nxc-color-navy-300); transform: translateX(-50%); animation: nxc-phero-bob 2.2s ease-in-out infinite; }
.nxc-phero__scroll .nxc-icon { width: 20px; height: 20px; transform: rotate(90deg); }

/* Split layout: copy left, dark notice card right */
.nxc-phero--split { text-align: left; }
.nxc-phero--split .nxc-phero__inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: center; gap: clamp(2rem, 1rem + 4vw, 5rem); }
.nxc-phero--split .nxc-phero__copy { max-width: 600px; margin: 0; }
.nxc-phero--split .nxc-phero__title { font-size: clamp(2.125rem, 1.5rem + 2.4vw, 3.25rem); }
.nxc-phero--split .nxc-phero__text { margin: 0; }
.nxc-phero--split .nxc-phero__actions { justify-content: flex-start; }
.nxc-phero__notice { padding: clamp(1.5rem, 1.2rem + 1vw, 2rem); border-radius: var(--nxc-radius-xl); background: var(--nxc-color-ink); box-shadow: var(--nxc-shadow-lg); color: var(--nxc-color-on-dark-muted); transform: rotate(-1.5deg); }
.nxc-phero__notice-title { margin: 0 0 var(--nxc-space-3); color: #fff; font-size: var(--nxc-fs-lg); font-weight: var(--nxc-fw-bold); }
.nxc-phero__notice-title .nxc-serif { font-style: italic; }
.nxc-phero__notice-text { margin: 0 0 var(--nxc-space-5); font-size: var(--nxc-fs-sm); line-height: 1.6; }
.nxc-phero__chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.nxc-phero__chips li { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .7rem; border: 1px solid rgba(255, 255, 255, .14); border-radius: var(--nxc-radius-pill); background: rgba(255, 255, 255, .06); color: #fff; font-size: var(--nxc-fs-xs); font-weight: var(--nxc-fw-medium); }
.nxc-phero__chips .nxc-icon { width: 12px; height: 12px; color: #fb7185; stroke-width: 3; }

/* Imagery: vial clusters (1–2 left, 3–4 right). No z-index/filter on the
   art layer so the multiply blend can drop the images' white backgrounds. */
.nxc-phero__art { position: absolute; inset: 0; pointer-events: none; }
.nxc-phero__vial {
	--r: 0deg;
	position: absolute;
	display: block;
	mix-blend-mode: multiply;
	transform: rotate(var(--r));
	animation: nxc-phero-float 7s ease-in-out infinite;
}
.nxc-phero__vial img { display: block; width: 100%; height: auto; }
.nxc-phero__vial--1 { --r: -14deg; top: 50%; left: max(-3rem, calc(50% - 700px)); width: clamp(170px, 15vw, 250px); margin-top: calc(clamp(170px, 15vw, 250px) * -.62); animation-duration: 7.4s; }
.nxc-phero__vial--2 { --r: 9deg; top: 50%; left: max(6rem, calc(50% - 520px)); width: clamp(110px, 9vw, 150px); margin-top: -10px; animation-duration: 6.2s; animation-delay: -2.4s; }
.nxc-phero__vial--3 { --r: 13deg; top: 50%; right: max(-2rem, calc(50% - 600px)); width: clamp(180px, 16vw, 270px); margin-top: calc(clamp(180px, 16vw, 270px) * -.7); animation-duration: 7.9s; animation-delay: -1.2s; }
.nxc-phero__vial--4 { --r: -9deg; top: 50%; right: max(-3rem, calc(50% - 720px)); width: clamp(110px, 9vw, 150px); margin-top: -30px; animation-duration: 6.6s; animation-delay: -3.6s; }

/* Imagery: scattered product tiles */
.nxc-phero__tile {
	position: absolute;
	top: var(--y);
	left: var(--x);
	display: grid;
	place-items: center;
	width: var(--s);
	height: var(--s);
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 24%;
	background: linear-gradient(160deg, rgba(255, 255, 255, .85), rgba(255, 255, 255, .45));
	box-shadow: 0 10px 24px -14px rgba(1, 25, 51, .35);
	transform: translate(-50%, 0) rotate(var(--r));
	animation: nxc-phero-tile 8s ease-in-out infinite;
	animation-delay: var(--delay);
}
.nxc-phero__tile img { width: 82%; height: 82%; object-fit: contain; mix-blend-mode: multiply; }
.nxc-phero__tile--d2 { opacity: .8; }
.nxc-phero__tile--d3 { opacity: .5; filter: blur(1.2px); }

@keyframes nxc-phero-float {
	0%, 100% { transform: translate3d(0, 0, 0) rotate(var(--r)); }
	50% { transform: translate3d(0, -12px, 0) rotate(calc(var(--r) + 2deg)); }
}
@keyframes nxc-phero-tile {
	0%, 100% { transform: translate(-50%, 0) rotate(var(--r)); }
	50% { transform: translate(-50%, -8px) rotate(calc(var(--r) + 3deg)); }
}
@keyframes nxc-phero-pulse {
	0% { transform: scale(.6); opacity: 1; }
	70%, 100% { transform: scale(1.6); opacity: 0; }
}
@keyframes nxc-phero-bob {
	0%, 100% { transform: translate(-50%, 0); }
	50% { transform: translate(-50%, 5px); }
}

@media (max-width: 1100px) {
	.nxc-phero__vial--2, .nxc-phero__vial--4 { display: none; }
	.nxc-phero__vial--1 { left: -4rem; }
	.nxc-phero__vial--3 { right: -4rem; }
}
@media (max-width: 960px) {
	.nxc-phero--split .nxc-phero__inner { grid-template-columns: minmax(0, 1fr); }
	.nxc-phero__notice { transform: none; }
}
@media (max-width: 860px) {
	.nxc-phero { min-height: 0; }
	.nxc-phero__vial--1, .nxc-phero__vial--3 { top: auto; bottom: -2.5rem; width: 110px; margin-top: 0; opacity: .55; }
	.nxc-phero__vial--1 { left: -2.5rem; }
	.nxc-phero__vial--3 { right: -2.5rem; }
	/* Small screens: keep only the two top-corner tiles, clear of the copy. */
	.nxc-phero__tile:not(:nth-child(1)):not(:nth-child(8)) { display: none; }
	.nxc-phero__tile { --s: 56px !important; top: 1rem; }
}
@media (max-width: 560px) {
	.nxc-phero__vial { display: none; }
}

/* 2. Info cards ----------------------------------------------------------- */
.nxc-icards { padding-block: var(--nxc-section-y); background: #fff; }
.nxc-icards--surface { background: var(--nxc-color-surface); }
.nxc-icards__head { max-width: 660px; margin: 0 auto clamp(2rem, 1.5rem + 1.5vw, 2.75rem); text-align: center; }
.nxc-icards__head .nxc-h2 { margin-bottom: var(--nxc-space-3); text-wrap: balance; }
.nxc-icards__head .nxc-h2 .nxc-serif, .nxc-ctap__title .nxc-serif, .nxc-facts .nxc-h2 .nxc-serif, .nxc-coa__head .nxc-serif { font-style: italic; }
.nxc-icards__lede { margin: 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-md); text-wrap: pretty; }

.nxc-icards__grid { display: grid; gap: var(--nxc-space-4); margin: 0 auto; padding: 0; list-style: none; }
.nxc-icards__grid--1 { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
.nxc-icards__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; gap: var(--nxc-space-6); }
.nxc-icards__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1020px; }
.nxc-icards__grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: 1020px; }
.nxc-icards--plan .nxc-icards__grid--3 { max-width: 1020px; gap: var(--nxc-space-5); }
.nxc-icards--feature .nxc-icards__grid--4 { max-width: none; }

.nxc-icards__card { position: relative; display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.nxc-icards--boxed .nxc-icards__card { padding: var(--nxc-space-6); border: 1px solid #edf0f4; border-radius: var(--nxc-radius-lg); background: #fff; }
.nxc-icards__card.is-featured { border: 1.5px solid var(--nxc-color-ink); box-shadow: var(--nxc-shadow-md); }
.nxc-icards__badge { position: absolute; top: 0; left: 50%; transform: translate(-50%, -50%); padding: .3rem .75rem; border-radius: var(--nxc-radius-pill); background: var(--nxc-color-ink); color: #fff; font-size: var(--nxc-fs-2xs); font-weight: var(--nxc-fw-semibold); white-space: nowrap; }
.nxc-icards__icon { display: grid; place-items: center; width: 42px; height: 42px; margin-bottom: var(--nxc-space-5); border-radius: 12px; background: var(--tone); color: var(--tone-ink); }
.nxc-icards__icon .nxc-icon { width: 19px; height: 19px; }
.nxc-icards__title { margin: 0 0 var(--nxc-space-2); color: var(--nxc-color-ink); font-size: var(--nxc-fs-lg); font-weight: var(--nxc-fw-bold); letter-spacing: -.012em; }
.nxc-icards__value { margin: var(--nxc-space-2) 0 0; color: var(--nxc-color-ink); font-size: clamp(1.5rem, 1.3rem + .8vw, 2rem); font-weight: var(--nxc-fw-bold); line-height: 1.15; letter-spacing: -.03em; }
.nxc-icards__meta { margin: var(--nxc-space-2) 0 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); }
.nxc-icards__text { margin: var(--nxc-space-3) 0 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-base); line-height: 1.65; }
.nxc-icards__link { display: inline-flex; align-items: center; gap: .35rem; margin-top: auto; padding-top: var(--nxc-space-4); color: var(--nxc-color-primary); font-size: var(--nxc-fs-sm); font-weight: var(--nxc-fw-semibold); text-decoration: none; }
.nxc-icards__link .nxc-icon { flex: none; width: 15px; height: 15px; transition: transform var(--nxc-dur) var(--nxc-ease); }
.nxc-icards__link:hover .nxc-icon { transform: translateX(3px); }

/* Lists inside cards */
.nxc-icards__points { display: grid; gap: .55rem; margin: var(--nxc-space-5) 0 0; padding: 0; list-style: none; text-align: left; }
.nxc-icards__points li { display: flex; align-items: flex-start; gap: .6rem; color: var(--nxc-color-text); font-size: var(--nxc-fs-sm); line-height: 1.5; }
.nxc-icards__points .nxc-icon { flex: none; width: 16px; height: 16px; margin-top: 2px; stroke-width: 2.5; }
.nxc-icards__points--check .nxc-icon { color: var(--nxc-color-success); }
.nxc-icards__points--x .nxc-icon { color: var(--nxc-color-sale); }
.nxc-icards__points--kv { gap: .4rem; margin-top: var(--nxc-space-4); }
.nxc-icards__points--kv li { display: block; color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); }
.nxc-icards__points--kv strong { color: var(--nxc-color-ink); font-weight: var(--nxc-fw-semibold); }

/* Plan: centred option cards */
.nxc-icards--plan .nxc-icards__card { align-items: center; padding: var(--nxc-space-8) var(--nxc-space-6); text-align: center; }
.nxc-icards--plan .nxc-icards__icon { margin-inline: auto; }
.nxc-icards--plan .nxc-icards__title { margin: 0; font-size: var(--nxc-fs-md); font-weight: var(--nxc-fw-semibold); }
.nxc-icards--plan .nxc-icards__text { max-width: 240px; font-size: var(--nxc-fs-sm); }
.nxc-icards--plan .nxc-icards__points { align-self: stretch; padding-inline: var(--nxc-space-2); }

/* Steps */
.nxc-icards--step .nxc-icards__num { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: var(--nxc-space-5); border-radius: 50%; background: var(--tone); color: var(--nxc-color-ink); font-family: var(--nxc-font-serif); font-size: var(--nxc-fs-md); font-style: italic; font-weight: 500; }
.nxc-icards--step .nxc-icards__title { font-size: var(--nxc-fs-base); }
.nxc-icards--step .nxc-icards__text { margin-top: var(--nxc-space-1); font-size: var(--nxc-fs-sm); }
.nxc-icards--step.nxc-icards--plain .nxc-icards__card { align-items: center; text-align: center; }
.nxc-icards--step.nxc-icards--plain .nxc-icards__num { margin-bottom: var(--nxc-space-4); background: var(--nxc-color-ink); color: #fff; font-family: var(--nxc-font-sans); font-style: normal; font-weight: var(--nxc-fw-bold); }
.nxc-icards--step.nxc-icards--plain .nxc-icards__grid { gap: var(--nxc-space-8); }

/* Stat tiles */
.nxc-icards--stat .nxc-icards__card { align-items: center; padding: var(--nxc-space-6) var(--nxc-space-4); border: 0; border-radius: var(--nxc-radius-lg); background: var(--tone); text-align: center; }
.nxc-icards--stat .nxc-icards__value { margin: 0; font-size: clamp(1.625rem, 1.35rem + 1vw, 2.125rem); font-weight: var(--nxc-fw-black); }
.nxc-icards__label { margin: var(--nxc-space-2) 0 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); }

/* Spec cards */
.nxc-icards--spec .nxc-icards__card { padding: var(--nxc-space-5); }
.nxc-icards__row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--nxc-space-3); align-self: stretch; }
.nxc-icards__row--start { justify-content: flex-start; align-items: center; margin-bottom: var(--nxc-space-2); }
.nxc-icards--spec .nxc-icards__title { font-size: var(--nxc-fs-sm); }
.nxc-icards__index { color: var(--nxc-color-navy-200); font-family: var(--nxc-font-serif); font-size: var(--nxc-fs-lg); font-style: italic; line-height: 1; }
.nxc-icards__chip { display: inline-flex; margin: var(--nxc-space-1) 0 0; padding: .25rem .55rem; border-radius: var(--nxc-radius-pill); background: var(--nxc-color-surface); color: var(--nxc-color-muted); font-size: .625rem; font-weight: var(--nxc-fw-semibold); letter-spacing: .06em; text-transform: uppercase; }
.nxc-icards--spec .nxc-icards__text { font-size: var(--nxc-fs-xs); line-height: 1.6; }

/* List cards (eligible / not eligible) */
.nxc-icards--list .nxc-icards__card { padding: var(--nxc-space-6); border: 0; border-radius: var(--nxc-radius-lg); background: var(--nxc-color-surface); }
.nxc-icards--surface.nxc-icards--list .nxc-icards__card { background: #fff; }
.nxc-icards__icon--round { width: 34px; height: 34px; margin: 0; border-radius: 50%; }
.nxc-icards__icon--round .nxc-icon { width: 16px; height: 16px; stroke-width: 2.5; }
.nxc-icards--list .nxc-icards__title { margin: 0; }
.nxc-icards--list .nxc-icards__points { margin-top: var(--nxc-space-4); }

/* Note + actions */
.nxc-icards__note { max-width: 770px; margin: var(--nxc-space-8) auto 0; padding: var(--nxc-space-5) var(--nxc-space-6); border: 1px solid #cdeedb; border-radius: var(--nxc-radius-md); background: var(--nxc-success-tint); text-align: center; }
.nxc-icards__note-title { display: flex; align-items: center; justify-content: center; gap: .5rem; margin: 0; color: #146c36; font-size: var(--nxc-fs-md); font-weight: var(--nxc-fw-semibold); }
.nxc-icards__note-title .nxc-icon { flex: none; width: 17px; height: 17px; color: var(--nxc-color-success); stroke-width: 3; }
.nxc-icards__note-text { margin: var(--nxc-space-2) 0 0; color: #1f7a45; font-size: var(--nxc-fs-sm); }
.nxc-icards__actions { margin-top: var(--nxc-space-8); }

@media (max-width: 960px) {
	.nxc-icards__grid--3, .nxc-icards__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 720px; }
}
@media (max-width: 600px) {
	.nxc-icards__grid { grid-template-columns: minmax(0, 1fr); }
	.nxc-icards--stat .nxc-icards__grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nxc-icards--plan .nxc-icards__card.is-featured { margin-top: var(--nxc-space-2); }
}

/* 3. COA library ---------------------------------------------------------- */
.nxc-coa { padding-block: var(--nxc-section-y); background: var(--nxc-color-surface); scroll-margin-top: calc(var(--nxc-header-h) + var(--nxc-admin-bar)); }
.nxc-coa__head { max-width: 620px; margin: 0 auto var(--nxc-space-8); text-align: center; }
.nxc-coa__head .nxc-h2 { margin-bottom: var(--nxc-space-3); }
.nxc-coa__lede { margin: 0; color: var(--nxc-color-muted); }

.nxc-coa__search { max-width: 400px; margin: 0 auto clamp(2rem, 1.5rem + 1.5vw, 2.5rem); text-align: center; }
.nxc-coa__search-field { display: flex; align-items: center; gap: .6rem; padding-inline: 1rem .5rem; border: var(--nxc-border); border-radius: var(--nxc-radius-pill); background: #fff; transition: border-color var(--nxc-dur), box-shadow var(--nxc-dur); }
.nxc-coa__search-field:focus-within { border-color: var(--nxc-color-primary); box-shadow: 0 0 0 4px var(--nxc-color-primary-tint); }
.nxc-coa__search-field > .nxc-icon { flex: none; width: 17px; height: 17px; color: var(--nxc-color-muted); }
.nxc-coa__search-field input { flex: 1; min-width: 0; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--nxc-color-ink); font: inherit; font-size: var(--nxc-fs-sm); outline: 0; }
.nxc-coa__search-field input::placeholder { color: var(--nxc-color-navy-300); }
.nxc-coa__hint { display: inline-flex; align-items: flex-start; gap: .45rem; margin: var(--nxc-space-3) 0 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); }
.nxc-coa__hint .nxc-icon { flex: none; width: 14px; height: 14px; margin-top: 1px; }

.nxc-coa__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nxc-space-5); max-width: 1150px; margin: 0 auto; padding: 0; list-style: none; }
.nxc-coa__card { display: flex; flex-direction: column; gap: var(--nxc-space-3); min-width: 0; padding: var(--nxc-space-3); border: 1px solid #edf0f4; border-radius: var(--nxc-radius-lg); background: #fff; transition: box-shadow var(--nxc-dur), transform var(--nxc-dur) var(--nxc-ease); }
.nxc-coa__card[hidden] { display: none; }
.nxc-coa__card:hover { box-shadow: var(--nxc-shadow-md); }
.nxc-coa__top { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: var(--nxc-space-3); }
.nxc-coa__media { display: grid; place-items: center; width: 72px; height: 72px; border-radius: 12px; overflow: hidden; }
.nxc-coa__media--blue { background: linear-gradient(180deg, var(--nxc-color-blue-50), var(--nxc-color-blue-100)); }
.nxc-coa__media--cyan { background: linear-gradient(180deg, var(--nxc-color-cyan-50), var(--nxc-color-cyan-100)); }
.nxc-coa__media--navy { background: linear-gradient(180deg, var(--nxc-color-navy-50), var(--nxc-color-navy-100)); }
.nxc-coa__media img { width: 90%; height: 90%; object-fit: contain; mix-blend-mode: multiply; }
.nxc-coa__media > .nxc-icon { width: 26px; height: 26px; color: var(--nxc-color-primary); }
.nxc-coa__info { min-width: 0; }
.nxc-coa__row { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--nxc-space-2); }
.nxc-coa__name { overflow: hidden; margin: 0; color: var(--nxc-color-ink); font-size: var(--nxc-fs-sm); font-weight: var(--nxc-fw-bold); line-height: 1.35; white-space: nowrap; text-overflow: ellipsis; }
.nxc-coa__name span { color: var(--nxc-color-navy-300); font-weight: var(--nxc-fw-medium); }
.nxc-coa__lab { display: inline-flex; flex: none; align-items: center; gap: .2rem; padding: .15rem .4rem; border-radius: var(--nxc-radius-pill); background: var(--nxc-success-tint); color: var(--nxc-color-success); font-size: .5625rem; font-weight: var(--nxc-fw-semibold); line-height: 1.3; white-space: nowrap; }
.nxc-coa__lab .nxc-icon { width: 9px; height: 9px; stroke-width: 3.5; }
.nxc-coa__result { display: flex; align-items: baseline; gap: .3rem; margin: .1rem 0 .15rem; }
.nxc-coa__result strong { color: var(--nxc-color-ink); font-size: 1.5rem; font-weight: var(--nxc-fw-black); line-height: 1.1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.nxc-coa__result span { color: var(--nxc-color-muted); font-size: var(--nxc-fs-2xs); }
.nxc-coa__result--pass strong { color: var(--nxc-color-success); }
.nxc-coa__lot { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-2xs); }
.nxc-coa__tag { padding: .1rem .35rem; border-radius: 4px; background: var(--nxc-color-surface); color: var(--nxc-color-muted); font-size: .5625rem; font-weight: var(--nxc-fw-semibold); letter-spacing: .05em; text-transform: uppercase; }

.nxc-coa__assays { border-radius: 10px; background: var(--nxc-color-surface); }
.nxc-coa__assays summary { display: flex; align-items: center; gap: .45rem; padding: .55rem .7rem; color: var(--nxc-color-success); font-size: var(--nxc-fs-2xs); font-weight: var(--nxc-fw-semibold); list-style: none; cursor: pointer; }
.nxc-coa__assays summary::-webkit-details-marker { display: none; }
.nxc-coa__ok { width: 14px; height: 14px; padding: 2px; border-radius: 50%; background: var(--nxc-color-success); color: #fff; stroke-width: 3.5; }
.nxc-coa__chev { width: 14px; height: 14px; margin-left: auto; color: var(--nxc-color-muted); transition: transform var(--nxc-dur) var(--nxc-ease); }
.nxc-coa__assays[open] .nxc-coa__chev { transform: rotate(180deg); }
.nxc-coa__assays ul { display: grid; gap: .3rem; margin: 0; padding: 0 .7rem .65rem; list-style: none; }
.nxc-coa__assays li { display: flex; justify-content: space-between; gap: .5rem; color: var(--nxc-color-muted); font-size: var(--nxc-fs-2xs); }
.nxc-coa__assays li strong { color: var(--nxc-color-success); font-weight: var(--nxc-fw-semibold); }

.nxc-coa__actions { display: flex; gap: var(--nxc-space-2); margin-top: auto; }
.nxc-coa__view { flex: 1; justify-content: center; min-height: 40px; padding-inline: .9rem; font-size: var(--nxc-fs-sm); }
.nxc-coa__from { color: rgba(255, 255, 255, .6); font-size: var(--nxc-fs-2xs); font-weight: var(--nxc-fw-medium); }
.nxc-coa__doc { min-height: 40px; padding-inline: .8rem; font-size: var(--nxc-fs-xs); }
.nxc-coa__doc .nxc-icon { width: 14px; height: 14px; }

.nxc-coa__more { margin-top: var(--nxc-space-8); text-align: center; }
.nxc-coa__more[hidden] { display: none; }
.nxc-coa__more-count { color: var(--nxc-color-navy-300); font-weight: var(--nxc-fw-medium); }
.nxc-coa__empty { margin: 0; padding: var(--nxc-space-10) var(--nxc-space-4); border: 1px dashed var(--nxc-color-navy-200); border-radius: var(--nxc-radius-lg); color: var(--nxc-color-muted); text-align: center; }
.nxc-coa__empty[hidden] { display: none; }
.nxc-coa__note { max-width: 680px; margin: var(--nxc-space-6) auto 0; color: var(--nxc-color-navy-300); font-size: var(--nxc-fs-xs); text-align: center; }

@media (max-width: 960px) { .nxc-coa__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .nxc-coa__grid { grid-template-columns: minmax(0, 1fr); } }

/* 4. CTA panel ------------------------------------------------------------ */
.nxc-ctap { padding-block: var(--nxc-section-y); background: #fff; }
.nxc-ctap--surface { background: var(--nxc-color-surface); }
.nxc-ctap__box { max-width: 900px; margin: 0 auto; text-align: center; }
.nxc-ctap--card .nxc-ctap__box, .nxc-ctap--tint .nxc-ctap__box { padding: clamp(1.75rem, 1.25rem + 2vw, 2.75rem); border: 1px solid #edf0f4; border-radius: var(--nxc-radius-xl); background: #fff; }
.nxc-ctap--tint .nxc-ctap__box--blue { border-color: var(--nxc-color-blue-100); background: linear-gradient(180deg, var(--nxc-color-blue-50), #e9f1fc); }
.nxc-ctap--tint .nxc-ctap__box--cyan { border-color: var(--nxc-color-cyan-100); background: linear-gradient(180deg, var(--nxc-color-cyan-50), #e3f5fd); }
.nxc-ctap--tint .nxc-ctap__box--warm { border-color: #f6ebbf; background: var(--nxc-tint-warm); }
.nxc-ctap--tint .nxc-ctap__box--success { border-color: #d3f0de; background: linear-gradient(180deg, #f1fbf5, var(--nxc-success-tint)); }
.nxc-ctap__icon { display: inline-grid; place-items: center; width: 52px; height: 52px; margin-bottom: var(--nxc-space-5); border-radius: 50%; background: var(--nxc-color-blue-50); color: var(--nxc-color-primary); }
.nxc-ctap--tint .nxc-ctap__icon { background: #fff; box-shadow: var(--nxc-shadow-xs); }
.nxc-ctap__box--success .nxc-ctap__icon { color: var(--nxc-color-success); }
.nxc-ctap__icon .nxc-icon { width: 22px; height: 22px; }
.nxc-ctap__title { margin: 0 0 var(--nxc-space-3); color: var(--nxc-color-heading); font-size: var(--nxc-fs-2xl); font-weight: var(--nxc-fw-bold); line-height: 1.2; letter-spacing: -.025em; text-wrap: balance; }
.nxc-ctap__text { max-width: 580px; margin: 0 auto; color: var(--nxc-color-muted); font-size: var(--nxc-fs-base); line-height: 1.65; text-wrap: pretty; }
.nxc-ctap__meta { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem .5rem; margin: var(--nxc-space-5) 0 0; padding: 0; list-style: none; color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); }
.nxc-ctap__meta li + li::before { content: "·"; margin-right: .5rem; color: var(--nxc-color-navy-200); }
.nxc-ctap__meta strong { color: var(--nxc-color-ink); font-weight: var(--nxc-fw-semibold); }
.nxc-ctap__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--nxc-space-3); margin: var(--nxc-space-8) 0 0; padding: 0; list-style: none; }
.nxc-ctap__card { padding: var(--nxc-space-5) var(--nxc-space-4); border-radius: var(--nxc-radius-md); background: var(--nxc-color-surface); }
.nxc-ctap__card-icon { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-bottom: var(--nxc-space-3); border-radius: 50%; background: var(--tone); color: var(--tone-ink); }
.nxc-ctap__card-icon .nxc-icon { width: 18px; height: 18px; }
.nxc-ctap__card-title { margin: 0 0 var(--nxc-space-1); color: var(--nxc-color-ink); font-size: var(--nxc-fs-sm); font-weight: var(--nxc-fw-bold); }
.nxc-ctap__card p { margin: 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); line-height: 1.55; }
.nxc-ctap__actions { margin-top: var(--nxc-space-8); }
.nxc-ctap__actions .nxc-btn .nxc-icon:first-child { width: 16px; height: 16px; }

/* Link bar */
.nxc-ctap--bar { padding-block: var(--nxc-space-5); }
.nxc-ctap__bar { display: flex; align-items: center; gap: var(--nxc-space-4); max-width: 640px; margin: 0 auto; padding: var(--nxc-space-4) var(--nxc-space-5); border: 1px solid var(--nxc-color-blue-100); border-radius: var(--nxc-radius-md); background: linear-gradient(90deg, var(--nxc-color-blue-50), #f4f8fe); color: inherit; text-decoration: none; transition: border-color var(--nxc-dur), box-shadow var(--nxc-dur); }
.nxc-ctap__bar:hover { border-color: var(--nxc-color-blue-200); box-shadow: var(--nxc-shadow-sm); }
.nxc-ctap__bar-icon { display: grid; flex: none; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: #fff; color: var(--nxc-color-primary); }
.nxc-ctap__bar-icon .nxc-icon { width: 18px; height: 18px; }
.nxc-ctap__bar-copy { display: grid; flex: 1; gap: .15rem; min-width: 0; }
.nxc-ctap__bar-copy strong { color: var(--nxc-color-ink); font-size: var(--nxc-fs-sm); }
.nxc-ctap__bar-copy span { color: var(--nxc-color-muted); font-size: var(--nxc-fs-sm); }
.nxc-ctap__bar-arrow { flex: none; width: 18px; height: 18px; color: var(--nxc-color-navy-300); transition: transform var(--nxc-dur) var(--nxc-ease); }
.nxc-ctap__bar:hover .nxc-ctap__bar-arrow { transform: translateX(3px); }

/* Dark banner */
.nxc-ctap--dark .nxc-ctap__box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--nxc-space-5) var(--nxc-space-8); max-width: none; padding: clamp(1.5rem, 1.2rem + 1vw, 2rem) clamp(1.5rem, 1rem + 2vw, 2.5rem); border-radius: var(--nxc-radius-xl); background: var(--nxc-color-ink); text-align: left; }
.nxc-ctap--dark .nxc-ctap__title { margin: 0 0 var(--nxc-space-1); color: #fff; font-size: var(--nxc-fs-xl); }
.nxc-ctap--dark .nxc-ctap__text { margin: 0; color: var(--nxc-color-on-dark-muted); font-size: var(--nxc-fs-sm); }

@media (max-width: 700px) {
	.nxc-ctap__cards { grid-template-columns: minmax(0, 1fr); }
}

/* 5. Key facts ------------------------------------------------------------ */
.nxc-facts { padding-block: var(--nxc-section-y); background: #fff; }
.nxc-facts--surface { background: var(--nxc-color-surface); }
.nxc-facts__inner { max-width: calc(770px + var(--nxc-gutter) * 2); }
.nxc-facts .nxc-h2 { margin-bottom: var(--nxc-space-6); }
.nxc-facts__box { padding: var(--nxc-space-2) var(--nxc-space-6) var(--nxc-space-6); border-radius: var(--nxc-radius-lg); background: var(--nxc-color-surface); }
.nxc-facts--surface .nxc-facts__box { background: #fff; }
.nxc-facts__list { margin: 0; }
.nxc-facts__row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .25rem var(--nxc-space-4); padding: var(--nxc-space-4) 0; border-bottom: 1px solid #e6eaf0; }
.nxc-facts__row dt { color: var(--nxc-color-muted); font-size: var(--nxc-fs-sm); }
.nxc-facts__row dd { margin: 0; color: var(--nxc-color-ink); font-size: var(--nxc-fs-sm); font-weight: var(--nxc-fw-semibold); }
.nxc-facts__note { margin: var(--nxc-space-5) 0 0; color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); line-height: 1.6; }

/* 6. Rich text ------------------------------------------------------------ */
.nxc-richtext { padding-block: var(--nxc-section-y); background: #fff; }
.nxc-richtext--surface { background: var(--nxc-color-surface); }
.nxc-richtext__inner--narrow { max-width: calc(770px + var(--nxc-gutter) * 2); }
.nxc-richtext__updated { margin: calc(var(--nxc-space-2) * -1) 0 var(--nxc-space-6); color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); }
.nxc-richtext .nxc-prose { max-width: none; }
.nxc-richtext--boxed .nxc-richtext__box { padding: var(--nxc-space-6); border-radius: var(--nxc-radius-lg); background: var(--nxc-color-surface); }
.nxc-richtext--boxed.nxc-richtext--surface .nxc-richtext__box { background: #fff; }
.nxc-richtext--boxed .nxc-h2 { margin-bottom: var(--nxc-space-3); font-size: var(--nxc-fs-md); }
.nxc-richtext.nxc-richtext--boxed .nxc-prose { color: var(--nxc-color-muted); font-size: var(--nxc-fs-sm); line-height: 1.6; }
.nxc-richtext.nxc-richtext--boxed .nxc-prose p { margin-bottom: var(--nxc-space-2); }

/* 7. Prose (policy + long-form copy) -------------------------------------- */
.nxc-richtext .nxc-prose, .nxc-doc__body { color: var(--nxc-color-muted); font-size: var(--nxc-fs-base); line-height: 1.7; }
.nxc-richtext .nxc-prose > :first-child, .nxc-doc__body > :first-child { margin-top: 0; }
.nxc-richtext .nxc-prose h2, .nxc-doc__body h2 { margin: var(--nxc-space-10) 0 var(--nxc-space-4); color: var(--nxc-color-heading); font-size: var(--nxc-fs-xl); font-weight: var(--nxc-fw-bold); line-height: 1.25; letter-spacing: -.02em; }
.nxc-richtext .nxc-prose h3, .nxc-doc__body h3 { margin: var(--nxc-space-8) 0 var(--nxc-space-3); color: var(--nxc-color-heading); font-size: var(--nxc-fs-lg); font-weight: var(--nxc-fw-bold); }
.nxc-richtext .nxc-prose p, .nxc-doc__body p { margin: 0 0 var(--nxc-space-4); }
.nxc-richtext .nxc-prose ul, .nxc-doc__body ul { padding-left: 1.25rem; }
.nxc-richtext .nxc-prose li::marker, .nxc-doc__body li::marker { color: var(--nxc-color-ink); }
.nxc-richtext .nxc-prose strong, .nxc-doc__body strong { color: var(--nxc-color-ink); font-weight: var(--nxc-fw-semibold); }
.nxc-richtext .nxc-prose a, .nxc-doc__body a:not(.nxc-btn) { color: var(--nxc-color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nxc-doc__body .nxc-lead, .nxc-richtext .nxc-prose .nxc-lead { color: var(--nxc-color-text); font-size: var(--nxc-fs-lg); line-height: 1.65; opacity: .85; }
.nxc-doc__body table, .nxc-richtext .nxc-prose table { width: 100%; border-collapse: collapse; font-size: var(--nxc-fs-sm); }
.nxc-doc__body th, .nxc-doc__body td, .nxc-richtext .nxc-prose th, .nxc-richtext .nxc-prose td { padding: .65rem .85rem; border-bottom: var(--nxc-border); text-align: left; vertical-align: top; }

/* Callout boxes (block editor: add class "nxc-callout", optionally "nxc-callout--warning") */
.nxc-doc__body .nxc-callout, .nxc-richtext .nxc-prose .nxc-callout {
	position: relative;
	margin: var(--nxc-space-6) 0 var(--nxc-space-8);
	padding: var(--nxc-space-5) var(--nxc-space-6) var(--nxc-space-5) 4.25rem;
	border: 1px solid var(--nxc-color-blue-100);
	border-radius: var(--nxc-radius-md);
	background: var(--nxc-color-blue-50);
	color: var(--nxc-color-navy-700);
}
.nxc-doc__body .nxc-callout::before, .nxc-richtext .nxc-prose .nxc-callout::before {
	content: "";
	position: absolute;
	top: var(--nxc-space-5);
	left: var(--nxc-space-5);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230068cd' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.nxc-doc__body .nxc-callout p, .nxc-richtext .nxc-prose .nxc-callout p { margin: 0 0 var(--nxc-space-1); color: inherit; }
.nxc-doc__body .nxc-callout p:last-child, .nxc-richtext .nxc-prose .nxc-callout p:last-child { margin-bottom: 0; }
.nxc-doc__body .nxc-callout strong { color: inherit; }
.nxc-doc__body .nxc-callout--warning, .nxc-richtext .nxc-prose .nxc-callout--warning { border-color: #f6e3a1; background: #fffaeb; color: var(--nxc-tint-warm-ink); }
.nxc-doc__body .nxc-callout--warning::before, .nxc-richtext .nxc-prose .nxc-callout--warning::before {
	background: #fdf0c4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b7791f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0Z'/%3E%3Cpath d='M12 9v4M12 17h.01'/%3E%3C/svg%3E") center / 16px no-repeat;
}

/* 8. Document layout (page.php) ------------------------------------------ */
.nxc-doc { padding-block: clamp(2.5rem, 2rem + 2vw, 4rem) var(--nxc-section-y); }
.nxc-doc .nxc-doc__body { max-width: 770px; margin-inline: auto; }
.nxc-doc__body .nxc-doc__updated { margin: 0 0 var(--nxc-space-6); color: var(--nxc-color-muted); font-size: var(--nxc-fs-xs); }
.nxc-doc__body .nxc-review-note { margin-top: var(--nxc-space-10); font-size: var(--nxc-fs-xs); }

/* 9. Motion preferences --------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.nxc-phero__vial, .nxc-phero__tile, .nxc-phero__dot::after, .nxc-phero__scroll { animation: none; }
}
.nxc-motion-off .nxc-phero__vial, .nxc-motion-off .nxc-phero__tile, .nxc-motion-off .nxc-phero__dot::after, .nxc-motion-off .nxc-phero__scroll { animation: none; }

/* Narrow cards (small phones): the two COA card buttons wrap instead of overflowing. */
@media (max-width: 420px) {
	.nxc-coa__actions { flex-wrap: wrap; }
	.nxc-coa__actions .nxc-btn { flex: 1 1 auto; min-width: 0; }
}

/* Mobile polish: COA cards show the full compound name; the lab badge moves under it. */
@media (max-width: 600px) {
	.nxc-coa__row { flex-direction: column; gap: .25rem; }
	.nxc-coa__name { white-space: normal; }
}
