/*
 * NUÁURA — single product (fragrance)
 * Palette derived from the logo: neutral silver #CBCBCB (dominant pixel),
 * #A9A9A9 (darkest ink), on black + off-white.
 * Each product injects its own --np-accent sampled from the bottle.
 * Light-first by design. No prefers-color-scheme blocks — see note at end.
 */

:root {
	--nu-primary:      #141414;
	--nu-primary-dark: #000000;
	--nu-accent:       #cbcbcb;
	--nu-accent-deep:  #a9a9a9;
	--nu-ink:          #1a1a1a;
	--nu-ink-soft:     #55524e;
	--nu-ivory:        #f5f3ef;
	--nu-surface:      #ffffff;
	--nu-line:         #e4e1db;

	--nu-font-head: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--nu-font-body: "Jost", "Helvetica Neue", Arial, sans-serif;

	/* ONE button spec. Only colour signals hierarchy. */
	--nu-btn-h:  54px;
	--nu-btn-r:  2px;
	--nu-btn-fs: 13px;
	--nu-btn-fw: 500;
	--nu-btn-ls: 0.12em;

	--nu-max: 1240px;
}

body { overflow-x: hidden; }

/* ---------------------------------------------------------------
   Page shell
   --------------------------------------------------------------- */
.np-page {
	/* Overridden inline per product from the bottle's sampled accent.
	   --np-ink is the AA-safe text tone, --np-soft/--np-line the washes,
	   --np-band the deep tone for the full-bleed notes section. */
	--np-accent: #a9a9a9;
	--np-ink:    #55524e;
	--np-soft:   #f7f6f3;
	--np-wash:   #efece6;
	--np-line:   #e4e1db;
	--np-band:   #141414;
	font-family: var(--nu-font-body);
	color: var(--nu-ink);
	-webkit-text-fill-color: var(--nu-ink);
	max-width: var(--nu-max);
	margin: 0 auto;
	padding: 0 20px 70px;
	background: var(--nu-surface);
}

.np-page h1, .np-page h2, .np-page h3,
.np-page .np-title, .np-page .np-h2 {
	font-family: var(--nu-font-head);
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
	font-weight: 600;
}
.np-page p, .np-page li, .np-page span, .np-page td, .np-page label, .np-page dd, .np-page dt {
	color: var(--nu-ink);
	-webkit-text-fill-color: var(--nu-ink);
}

/* ---------------------------------------------------------------
   Breadcrumb
   --------------------------------------------------------------- */
.np-crumbs {
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	padding: 24px 0 20px;
	color: var(--nu-ink-soft);
	-webkit-text-fill-color: var(--nu-ink-soft);
}
.np-crumbs a { color: var(--nu-ink-soft) !important; -webkit-text-fill-color: var(--nu-ink-soft); text-decoration: none; }
.np-crumbs a:hover { color: var(--nu-primary) !important; -webkit-text-fill-color: var(--nu-primary); }
.np-crumbs__sep { margin: 0 8px; color: var(--nu-accent-deep); -webkit-text-fill-color: var(--nu-accent-deep); }
.np-crumbs__current { color: var(--nu-primary); -webkit-text-fill-color: var(--nu-primary); }

/* ---------------------------------------------------------------
   Main grid — TRUE 50/50 with a cap on the gallery
   --------------------------------------------------------------- */
.np-main {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: start;
}
@media (min-width: 992px) {
	.np-main { grid-template-columns: 1fr 1fr; gap: 60px; }
	.np-gallery { max-width: 560px; width: 100%; position: sticky; top: 110px; }
}

/* ---------------------------------------------------------------
   Gallery
   --------------------------------------------------------------- */
.np-stage {
	position: relative;
	background: var(--np-soft);
	overflow: hidden;
	border: 1px solid var(--nu-line);
}
.np-track {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	outline: none;
	touch-action: pan-y;
}
.np-track:focus-visible { box-shadow: inset 0 0 0 2px var(--nu-primary); }

.np-slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease;
}
.np-slide.is-active { opacity: 1; visibility: visible; }
.np-slide__img,
.np-slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 18px;
	display: block;
}

.np-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 40px; height: 40px;
	border: 1px solid var(--nu-line);
	background: rgba(255,255,255,.94);
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
	border-radius: 50%;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	padding: 0;
	transition: background .2s ease, color .2s ease;
}
.np-arrow svg { width: 19px; height: 19px; }
.np-arrow:hover { background: var(--nu-primary); color: #fff; -webkit-text-fill-color: #fff; }
.np-arrow--prev { left: 12px; }
.np-arrow--next { right: 12px; }

.np-counter,
.np-counter span {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}
.np-counter {
	position: absolute;
	right: 12px; bottom: 12px;
	z-index: 3;
	background: rgba(20,20,20,.82);
	font-size: 11px;
	letter-spacing: .08em;
	padding: 5px 10px;
	border-radius: 2px;
}

.np-dots { display: flex; justify-content: center; gap: 8px; padding: 14px 0 2px; }
.np-dot {
	width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%;
	background: var(--nu-accent); cursor: pointer;
	transition: background .2s ease, transform .2s ease;
}
.np-dot.is-active { background: var(--nu-primary); transform: scale(1.3); }

/* thumbnails: ONE horizontal scrolling row, never a grid */
.np-thumbs {
	display: none;
	gap: 10px;
	margin-top: 12px;
	overflow-x: auto;
	overflow-y: hidden;
	flex-wrap: nowrap;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 4px;
}
.np-thumbs::-webkit-scrollbar { height: 3px; }
.np-thumbs::-webkit-scrollbar-thumb { background: var(--nu-accent); }
.np-thumb {
	flex: 0 0 82px;
	width: 82px; height: 82px;
	padding: 6px;
	border: 1px solid var(--np-line);
	background: var(--np-soft);
	cursor: pointer;
	opacity: .6;
	transition: opacity .2s ease, border-color .2s ease;
}
.np-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.np-thumb.is-active { opacity: 1; border-color: var(--np-ink); }

@media (min-width: 768px) {
	.np-thumbs { display: flex; }
	.np-dots   { display: none; }
}

/* ---------------------------------------------------------------
   Buy box
   --------------------------------------------------------------- */
.np-buy { padding-top: 2px; }

.np-eyebrow {
	margin: 0 0 10px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--np-ink) !important;
	-webkit-text-fill-color: var(--np-ink) !important;
}
.np-title {
	font-size: clamp(32px, 5vw, 52px);
	line-height: 1.08;
	letter-spacing: .01em;
	margin: 0 0 8px;
}
.np-subtitle {
	margin: 0 0 14px;
	font-size: 12.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nu-ink-soft) !important;
	-webkit-text-fill-color: var(--nu-ink-soft);
}

.np-rating { margin-bottom: 12px; }
.np-rating .star-rating { color: var(--nu-primary); font-size: 14px; }

.np-excerpt {
	font-size: 15.5px;
	line-height: 1.78;
	color: var(--nu-ink-soft);
	-webkit-text-fill-color: var(--nu-ink-soft);
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--nu-line);
	max-width: 46ch;
}
.np-excerpt p { color: var(--nu-ink-soft); -webkit-text-fill-color: var(--nu-ink-soft); margin: 0; }

.np-price-row {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 4px;
}
.np-price-row .price,
.np-price-row .woocommerce-Price-amount {
	font-family: var(--nu-font-body);
	font-size: 28px;
	font-weight: 500;
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
}
.np-price-row del,
.np-price-row del .woocommerce-Price-amount {
	color: var(--nu-accent-deep);
	-webkit-text-fill-color: var(--nu-accent-deep);
	font-size: 18px;
	font-weight: 400;
	text-decoration: line-through;
	opacity: 1;
}
.np-price-row ins { text-decoration: none; background: none; }

.np-save {
	background: var(--np-ink);
	/* !important on both: this is a <span>, and the generic `.np-page span`
	   readability rule is 0,1,1 — it would otherwise paint dark ink onto the
	   coloured pill. Same trap applies to any coloured-background element. */
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 2px;
}
.np-tax {
	margin: 0 0 16px;
	font-size: 12px;
	color: var(--nu-accent-deep) !important;
	-webkit-text-fill-color: var(--nu-accent-deep);
}

.np-stock {
	font-size: 13px;
	letter-spacing: .04em;
	margin: 0 0 18px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.np-stock::before {
	content: "";
	width: 7px; height: 7px;
	border-radius: 50%;
	background: #1f7a4d;
	display: inline-block;
}
.np-stock.is-out::before { background: #a33; }
.np-stock.is-out { color: #a33; -webkit-text-fill-color: #a33; }

.np-assure {
	list-style: none;
	margin: 22px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--nu-line);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 9px 16px;
}
.np-assure li {
	position: relative;
	padding-left: 22px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--nu-ink-soft);
	-webkit-text-fill-color: var(--nu-ink-soft);
}
.np-assure li::before {
	content: "";
	position: absolute;
	left: 2px; top: 5px;
	width: 8px; height: 4px;
	border-left: 1.5px solid var(--np-ink);
	border-bottom: 1.5px solid var(--np-ink);
	transform: rotate(-45deg);
}


/* ---------------------------------------------------------------
   Buy box structure — grouped blocks with deliberate rhythm
   --------------------------------------------------------------- */
.np-buy__head { margin-bottom: 16px; }
.np-buy__subrow {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin-top: 6px;
}
.np-buy__subrow .np-subtitle { margin: 0; }
.np-buy__subrow .np-rating { margin: 0; display: inline-flex; align-items: center; }
.np-buy__subrow .np-rating .woocommerce-review-link { font-size: 12px; color: var(--nu-ink-soft) !important; -webkit-text-fill-color: var(--nu-ink-soft); }

/* scent signature — the structured "at a glance" table */
.np-sig {
	margin: 0 0 22px;
	padding: 0;
	border-top: 1px solid var(--np-line);
}
.np-sig__row {
	display: grid;
	grid-template-columns: 62px 1fr;
	gap: 14px;
	padding: 11px 0;
	border-bottom: 1px solid var(--np-line);
	align-items: baseline;
}
.np-sig dt {
	margin: 0;
	font-size: 10.5px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--np-ink) !important;
	-webkit-text-fill-color: var(--np-ink) !important;
}
.np-sig dd {
	margin: 0;
	font-family: var(--nu-font-head);
	font-size: 17px;
	line-height: 1.45;
	color: var(--nu-ink) !important;
	-webkit-text-fill-color: var(--nu-ink) !important;
}

/* price + availability grouped on the product's own wash */
.np-pricebox {
	background: var(--np-soft);
	border: 1px solid var(--np-line);
	padding: 18px 20px 16px;
	margin-bottom: 20px;
}
.np-pricebox .np-price-row { margin-bottom: 2px; }
.np-pricebox .np-tax { margin: 0 0 12px; }
.np-pricebox .np-stock { margin: 0; padding-top: 12px; border-top: 1px solid var(--np-line); }

/* XStore drops .single-wishlist loose inside the cart block. Give it a
   deliberate position (below the buttons) and a quiet text-action style
   instead of a stray full-width link. */
.np-cart { display: flex; flex-direction: column; }
.np-cart form.cart { order: 1; }
.np-cart .single-wishlist { order: 2; margin-top: 12px; text-align: center; }
.np-cart .single-wishlist a,
.np-cart .xstore-wishlist {
	display: inline-flex !important;
	align-items: center;
	gap: 7px;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--nu-ink-soft) !important;
	-webkit-text-fill-color: var(--nu-ink-soft);
	text-decoration: none;
	background: none !important;
	border: 0 !important;
	padding: 4px 2px !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	transition: color .2s ease;
}
.np-cart .single-wishlist a:hover,
.np-cart .xstore-wishlist:hover {
	color: var(--np-ink) !important;
	-webkit-text-fill-color: var(--np-ink);
}
.np-cart .single-wishlist .et-icon { font-size: 14px; line-height: 1; }

/* meta line — SKU + collection, no social clutter */
.np-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
}
.np-meta__i {
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--nu-accent-deep) !important;
	-webkit-text-fill-color: var(--nu-accent-deep);
}
.np-meta__i b {
	font-weight: 500;
	color: var(--nu-ink) !important;
	-webkit-text-fill-color: var(--nu-ink);
	text-transform: none;
	letter-spacing: 0;
	font-size: 12.5px;
}
.np-meta__i a { color: var(--nu-ink) !important; -webkit-text-fill-color: var(--nu-ink); text-decoration: none; }
.np-meta__i a:hover { color: var(--np-ink) !important; -webkit-text-fill-color: var(--np-ink); text-decoration: underline; }

/* the excerpt no longer needs its own rule — it sits above the signature */
.np-excerpt { border-bottom: 0; padding-bottom: 0; margin-bottom: 20px; }

/* ---------------------------------------------------------------
   Buttons — ONE spec. Colour is the only difference.
   --------------------------------------------------------------- */
.np-btn,
.np-page .single_add_to_cart_button,
.np-page button.single_add_to_cart_button,
.np-cart .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 9px;
	width: 100%;
	min-height: var(--nu-btn-h);
	height: var(--nu-btn-h);
	padding: 0 22px;
	border: 1px solid transparent;
	border-radius: var(--nu-btn-r);
	font-family: var(--nu-font-body);
	font-size: var(--nu-btn-fs);
	font-weight: var(--nu-btn-fw);
	letter-spacing: var(--nu-btn-ls);
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
	transition: background .22s ease, color .22s ease, border-color .22s ease;
}

/* Primary — solid black. border-radius pinned: something outside
 * document.styleSheets resets it to 0 on this button only. */
.np-page .single_add_to_cart_button,
.np-page button.single_add_to_cart_button {
	background: var(--nu-primary) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	border-radius: var(--nu-btn-r) !important;
	margin-top: 12px;
}
.np-page .single_add_to_cart_button:hover { background: var(--nu-primary-dark) !important; }

/* Secondary — outlined, same geometry */
.np-btn--buy {
	background: var(--nu-surface);
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
	border-color: var(--nu-primary);
	margin-top: 10px;
}
.np-btn--buy:hover { background: var(--nu-primary); color: #fff; -webkit-text-fill-color: #fff; }

/* Tertiary — WhatsApp, same geometry */
.np-btn--wa {
	background: var(--nu-ivory);
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
	border-color: var(--nu-line);
	margin-top: 10px;
}
.np-btn--wa:hover { border-color: var(--np-ink); background: var(--np-wash); }

.np-cart .quantity input.qty,
.np-page .quantity input.qty {
	height: var(--nu-btn-h);
	min-height: var(--nu-btn-h);
	width: 88px;
	text-align: center;
	border: 1px solid var(--nu-line);
	border-radius: var(--nu-btn-r);
	font-family: var(--nu-font-body);
	font-size: 15px;
	color: var(--nu-ink);
	-webkit-text-fill-color: var(--nu-ink);
	background: var(--nu-surface);
}
.np-cart form.cart { margin-bottom: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.np-cart form.cart .quantity { margin: 0; }
.np-cart form.cart .single_add_to_cart_button { flex: 1 1 200px; width: auto; margin-top: 0 !important; }
.np-cart form.cart .np-btn--buy { flex: 1 1 100%; margin-top: 2px; }

.np-meta {
	margin-top: 22px;
	padding-top: 16px;
	border-top: 1px solid var(--nu-line);
	font-size: 12.5px;
	color: var(--nu-ink-soft);
	-webkit-text-fill-color: var(--nu-ink-soft);
}
.np-meta .product_meta > span { display: block; margin-bottom: 5px; }

/* ---------------------------------------------------------------
   Notes pyramid — full bleed on the brand black
   --------------------------------------------------------------- */
.np-notes {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: var(--np-band);
	margin: 64px 0 0;
	padding: 58px 20px 60px;
}
.np-notes__inner { max-width: var(--nu-max); margin: 0 auto; }
.np-notes .np-h2 { color: #fff; -webkit-text-fill-color: #fff; border: 0; padding: 0; margin: 0 0 8px; }
.np-h2--center { text-align: center; }
.np-notes__lead {
	text-align: center;
	margin: 0 auto 38px;
	font-size: 14px;
	letter-spacing: .04em;
	color: var(--nu-accent) !important;
	-webkit-text-fill-color: var(--nu-accent) !important;
}

/* Everything inside the black band is pinned with !important on BOTH
 * properties: the generic `.np-page p / h2 / span` readability rules are
 * specificity 0,1,1 and would otherwise repaint dark ink onto black.
 * (Do NOT use `-webkit-text-fill-color: inherit` here — it inherits the
 * page's dark ink straight back down into the band.) */
.np-notes .np-h2 { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.np-note__h      { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.np-note__v      { color: #fff !important; -webkit-text-fill-color: #fff !important; }
.np-note__when   { color: var(--nu-accent-deep) !important; -webkit-text-fill-color: var(--nu-accent-deep) !important; }
.np-note__step   { color: var(--np-accent) !important; -webkit-text-fill-color: var(--np-accent) !important; }
.np-notes__list {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 22px;
	counter-reset: note;
}
@media (min-width: 768px) { .np-notes__list { grid-template-columns: repeat(3, 1fr); gap: 30px; } }

.np-note {
	position: relative;
	padding: 26px 22px 24px;
	border: 1px solid rgba(255,255,255,.16);
	background: rgba(255,255,255,.03);
	text-align: center;
}
.np-note__step {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 34px; height: 34px;
	border-radius: 50%;
	border: 1px solid var(--np-accent);
	color: var(--np-accent);
	-webkit-text-fill-color: var(--np-accent);
	font-size: 11px;
	letter-spacing: .06em;
	margin-bottom: 14px;
}
.np-note__h {
	font-family: var(--nu-font-body) !important;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	margin: 0 0 10px;
}
.np-note__v {
	font-family: var(--nu-font-head);
	font-size: 21px;
	line-height: 1.4;
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	margin: 0 0 8px;
}
.np-note__when {
	font-size: 12px;
	color: var(--nu-accent-deep) !important;
	-webkit-text-fill-color: var(--nu-accent-deep);
	margin: 0;
}

/* ---------------------------------------------------------------
   Description + profile
   --------------------------------------------------------------- */
.np-section { margin: 56px 0 0; }
.np-h2 {
	font-size: clamp(25px, 3vw, 34px);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--nu-line);
}
.np-rte { font-size: 15.5px; line-height: 1.85; color: var(--nu-ink-soft); -webkit-text-fill-color: var(--nu-ink-soft); max-width: 70ch; }
.np-rte p { color: var(--nu-ink-soft); -webkit-text-fill-color: var(--nu-ink-soft); margin: 0 0 14px; }

.np-split { display: grid; grid-template-columns: 1fr; gap: 30px; }
@media (min-width: 992px) { .np-split { grid-template-columns: minmax(0,1.55fr) minmax(280px,1fr); gap: 50px; } }

.np-spec { background: var(--np-soft); border: 1px solid var(--np-line); padding: 24px 22px; align-self: start; }
.np-spec__h {
	font-family: var(--nu-font-body) !important;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--nu-line);
	color: var(--nu-primary) !important;
	-webkit-text-fill-color: var(--nu-primary);
}
.np-spec dl { margin: 0; }
.np-spec__row {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px solid var(--nu-line);
}
.np-spec__row:last-child { border-bottom: 0; }
.np-spec dt {
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--nu-ink-soft) !important;
	-webkit-text-fill-color: var(--nu-ink-soft);
	flex: 0 0 auto;
}
.np-spec dd {
	margin: 0;
	font-size: 13.5px;
	font-weight: 500;
	text-align: right;
	color: var(--nu-primary) !important;
	-webkit-text-fill-color: var(--nu-primary);
}

/* ---------------------------------------------------------------
   Trust strip — full bleed (translateX method, scrollbar-safe)
   --------------------------------------------------------------- */
.np-trust {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: var(--np-soft);
	border-top: 1px solid var(--np-line);
	border-bottom: 1px solid var(--np-line);
	margin: 56px 0 0;
	padding: 28px 20px;
}
.np-trust__inner {
	max-width: var(--nu-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
@media (min-width: 768px) { .np-trust__inner { grid-template-columns: repeat(4, 1fr); } }
.np-trust__item { text-align: center; }
.np-trust__item strong {
	display: block;
	font-family: var(--nu-font-body);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
	margin-bottom: 4px;
}
.np-trust__item span { font-size: 12.5px; color: var(--nu-ink-soft); -webkit-text-fill-color: var(--nu-ink-soft); }

/* ---------------------------------------------------------------
   Steps / FAQ / related
   --------------------------------------------------------------- */
.np-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
@media (min-width: 768px) { .np-steps { grid-template-columns: repeat(2, 1fr); gap: 24px 40px; } }
.np-steps li { display: flex; gap: 14px; align-items: flex-start; }
.np-steps__n {
	flex: 0 0 34px;
	width: 34px; height: 34px;
	border: 1px solid var(--np-ink);
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-size: 13px;
	color: var(--np-ink);
	-webkit-text-fill-color: var(--np-ink);
}
.np-steps li strong { display: block; font-size: 14.5px; margin-bottom: 3px; color: var(--nu-ink); -webkit-text-fill-color: var(--nu-ink); }
.np-steps li p { margin: 0; font-size: 14px; line-height: 1.7; color: var(--nu-ink-soft); -webkit-text-fill-color: var(--nu-ink-soft); }

.np-faq { border-top: 1px solid var(--nu-line); max-width: 900px; }
.np-faq__item { border-bottom: 1px solid var(--nu-line); }
.np-faq__q {
	list-style: none;
	cursor: pointer;
	padding: 17px 40px 17px 0;
	position: relative;
	font-family: var(--nu-font-body);
	font-size: 15px;
	font-weight: 500;
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
}
.np-faq__q::-webkit-details-marker { display: none; }
.np-faq__icon { position: absolute; right: 4px; top: 50%; width: 12px; height: 12px; margin-top: -6px; }
.np-faq__icon::before,
.np-faq__icon::after {
	content: "";
	position: absolute;
	background: var(--np-ink);
	transition: transform .25s ease, opacity .25s ease;
}
.np-faq__icon::before { left: 0; top: 5px; width: 12px; height: 1.5px; }
.np-faq__icon::after  { left: 5px; top: 0; width: 1.5px; height: 12px; }
.np-faq__item[open] .np-faq__icon::after { transform: rotate(90deg); opacity: 0; }
.np-faq__a { padding: 0 0 18px; }
.np-faq__a p { margin: 0; font-size: 14.5px; line-height: 1.78; color: var(--nu-ink-soft); -webkit-text-fill-color: var(--nu-ink-soft); max-width: 78ch; }

.np-related h2,
.np-relgrid .np-h2 {
	font-family: var(--nu-font-head);
	font-size: clamp(25px, 3vw, 34px);
	color: var(--nu-primary);
	-webkit-text-fill-color: var(--nu-primary);
	margin: 0 0 22px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--nu-line);
}

/* ---------------------------------------------------------------
   Mobile sticky bar
   --------------------------------------------------------------- */
.np-sticky {
	position: fixed;
	left: 0; right: 0; bottom: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: var(--nu-surface);
	border-top: 1px solid var(--nu-line);
	box-shadow: 0 -6px 22px rgba(0,0,0,.09);
	transform: translateY(105%);
	transition: transform .3s ease;
}
.np-sticky.is-on { transform: translateY(0); }
.np-sticky__info { flex: 1 1 auto; min-width: 0; }
.np-sticky__name {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: var(--nu-ink);
	-webkit-text-fill-color: var(--nu-ink);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.np-sticky__price { display: block; font-size: 14px; color: var(--nu-primary); -webkit-text-fill-color: var(--nu-primary); }
.np-sticky__price del { display: none; }
.np-sticky__cta {
	width: auto !important;
	flex: 0 0 auto;
	margin-top: 0 !important;
	padding: 0 26px;
	background: var(--nu-primary);
	color: #fff;
	-webkit-text-fill-color: #fff;
	border-color: var(--nu-primary);
}

body.np-has-sticky { padding-bottom: 84px; }
body.np-has-sticky .etheme-sticky-panel,
body.np-has-sticky #back-top,
body.np-has-sticky .back-top,
body.np-has-sticky .wa-float,
body.np-has-sticky .joinchat {
	bottom: calc(96px + env(safe-area-inset-bottom)) !important;
}

@media (min-width: 992px) {
	.np-sticky { display: none; }
	body.np-has-sticky { padding-bottom: 0; }
}

/*
 * Deliberately NO @media (prefers-color-scheme: dark) block.
 * NUÁURA is a light-first brand; a dark-mode override here would render
 * dark text on dark backgrounds. Text colours above are pinned with both
 * `color` and `-webkit-text-fill-color` so device dark modes and iOS
 * Safari cannot repaint them.
 */
