/**
 * NoBulk Pack Studio Pro Max - storefront styles
 * Palette: accent #CFFF04, ink #111111, surface #FFFFFF.
 * Mobile first; breakpoints 640 / 900 / 1200.
 */

:root {
	--nbp-accent: #cfff04;
	--nbp-accent-ink: #111111;
	--nbp-accent-soft: #f4ffc4;
	--nbp-black: #111111;
	--nbp-white: #ffffff;
	--nbp-ink-70: #4a4b45;
	--nbp-ink-50: #75766f;
	--nbp-line: #e4e4dd;
	--nbp-cloud: #f6f6f1;
	--nbp-radius: 14px;
	--nbp-radius-sm: 10px;
	--nbp-scale: 1;
	--nbp-space: 1;
	--nbp-gutter: clamp(18px, 5vw, 72px);
	--nbp-shadow: 0 1px 2px rgba(17, 17, 17, .06), 0 12px 32px rgba(17, 17, 17, .07);
	--nbp-shadow-sm: 0 1px 2px rgba(17, 17, 17, .07);
	--nbp-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--nbp-font-bn: "Hind Siliguri", "Noto Sans Bengali", var(--nbp-font);
	--nbp-header-h: 68px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--nbp-font);
	font-size: calc(16px * var(--nbp-scale));
	line-height: 1.6;
	color: var(--nbp-black);
	background: var(--nbp-white);
	-webkit-font-smoothing: antialiased;
}

body.nbp-drawer-open { overflow: hidden; }

img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }

a { color: inherit; text-decoration: none; }
a:hover { color: var(--nbp-ink-70); }

h1, h2, h3, h4 {
	margin: 0 0 .4em;
	line-height: 1.14;
	letter-spacing: -.02em;
	font-weight: 800;
}

h1 { font-size: clamp(1.95rem, 5.4vw, 3.5rem); }
h2 { font-size: clamp(1.55rem, 3.6vw, 2.5rem); }
h3 { font-size: clamp(1.1rem, 2vw, 1.375rem); }

p { margin: 0 0 1em; }

:lang(bn), [lang="bn"] { font-family: var(--nbp-font-bn); }

:focus-visible {
	outline: 3px solid var(--nbp-black);
	outline-offset: 2px;
	border-radius: 6px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.nbp-skip {
	position: absolute;
	left: 50%; top: -60px;
	transform: translateX(-50%);
	z-index: 200;
	background: var(--nbp-black);
	color: var(--nbp-white);
	padding: 10px 18px;
	border-radius: 0 0 12px 12px;
	transition: top .2s ease;
}
.nbp-skip:focus { top: 0; color: var(--nbp-white); }

.nbp-shell {
	width: 100%;
	max-width: 1320px;
	margin-inline: auto;
	padding-inline: var(--nbp-gutter);
}

.nbp-section { padding-block: calc(clamp(44px, 7vw, 104px) * var(--nbp-space)); }
.nbp-section-foot { margin-top: 32px; text-align: center; }

.nbp-icon {
	width: 20px; height: 20px;
	flex: 0 0 auto;
	stroke-width: 1.9;
}

/* ---------------------------------------------------------- buttons */

.nbp-button {
	--btn-bg: var(--nbp-black);
	--btn-fg: var(--nbp-white);
	--btn-bd: var(--nbp-black);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 22px;
	min-height: 48px;
	border: 1.5px solid var(--btn-bd);
	border-radius: 999px;
	background: var(--btn-bg);
	color: var(--btn-fg);
	font: inherit;
	font-weight: 700;
	line-height: 1.1;
	cursor: pointer;
	text-align: center;
	transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease;
}
.nbp-button:hover { color: var(--btn-fg); transform: translateY(-1px); box-shadow: var(--nbp-shadow-sm); }
.nbp-button:active { transform: translateY(0); }
.nbp-button .nbp-icon { width: 18px; height: 18px; }

.nbp-button-accent { --btn-bg: var(--nbp-accent); --btn-fg: var(--nbp-accent-ink); --btn-bd: var(--nbp-accent); }
.nbp-button-accent:hover { --btn-bg: #dcff3d; }
.nbp-button-dark { --btn-bg: var(--nbp-black); --btn-fg: var(--nbp-white); }
.nbp-button-ghost { --btn-bg: transparent; --btn-fg: var(--nbp-black); --btn-bd: var(--nbp-line); }
.nbp-button-ghost:hover { --btn-bd: var(--nbp-black); --btn-bg: var(--nbp-cloud); }
.nbp-button-outline-light { --btn-bg: transparent; --btn-fg: var(--nbp-white); --btn-bd: rgba(255, 255, 255, .4); }
.nbp-button-outline-light:hover { --btn-bg: rgba(255, 255, 255, .12); --btn-fg: var(--nbp-white); }
.nbp-button-lg { padding: 16px 30px; min-height: 56px; font-size: 1.02rem; }
.nbp-button-block { display: flex; width: 100%; }

.nbp-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	position: relative;
	width: 46px; height: 46px;
	padding: 0;
	border: 1.5px solid var(--nbp-line);
	border-radius: 999px;
	background: var(--nbp-white);
	color: var(--nbp-black);
	cursor: pointer;
	transition: border-color .16s ease, background .16s ease;
}
.nbp-icon-button:hover { border-color: var(--nbp-black); background: var(--nbp-cloud); }

.nbp-eyebrow {
	display: inline-block;
	margin-bottom: 14px;
	padding: 6px 14px;
	border-radius: 999px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
	font-size: .74rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.nbp-badge {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 999px;
	background: var(--nbp-black);
	color: var(--nbp-white);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.nbp-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 15px;
	border: 1.5px solid var(--nbp-line);
	border-radius: 999px;
	background: var(--nbp-white);
	font: inherit;
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
}
.nbp-chip:hover { border-color: var(--nbp-black); background: var(--nbp-accent-soft); }

.nbp-head-bn,
.nbp-hero-title-bn {
	display: block;
	margin-top: .18em;
	font-family: var(--nbp-font-bn);
	font-size: .62em;
	font-weight: 600;
	color: var(--nbp-ink-70);
	letter-spacing: 0;
}

.nbp-section-head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 52px); }
.nbp-section-head p { color: var(--nbp-ink-70); font-size: 1.05rem; margin: 0; }
.nbp-section-head.is-center { margin-inline: auto; text-align: center; }

/* ---------------------------------------------------------- announcement + header */

.nbp-announce {
	background: var(--nbp-black);
	color: var(--nbp-white);
	font-size: .86rem;
}
.nbp-announce-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px 18px;
	flex-wrap: wrap;
	padding: 9px 0;
	text-align: center;
}
.nbp-announce-text { display: inline-flex; align-items: center; gap: 8px; }
.nbp-announce-link {
	color: var(--nbp-accent);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.nbp-announce-link:hover { color: var(--nbp-accent); }

.nbp-header {
	position: relative;
	z-index: 60;
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid var(--nbp-line);
	backdrop-filter: saturate(160%) blur(10px);
}
.nbp-header.is-sticky { position: sticky; top: 0; }
.nbp-header.is-scrolled { box-shadow: var(--nbp-shadow-sm); }

.nbp-header-inner {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: var(--nbp-header-h);
	padding-block: 10px;
}

.nbp-brand { display: flex; align-items: center; margin-right: auto; }
.nbp-brand-link { display: inline-flex; align-items: center; gap: 10px; font-weight: 800; letter-spacing: -.02em; }
.nbp-brand-mark { height: 34px; width: auto; }

.nbp-primary-nav { display: none; }
.nbp-menu {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0; padding: 0;
	list-style: none;
}
.nbp-menu li { position: relative; }
.nbp-menu a {
	display: inline-flex;
	align-items: center;
	padding: 10px 14px;
	border-radius: 999px;
	font-size: .95rem;
	font-weight: 600;
}
.nbp-menu a:hover { background: var(--nbp-cloud); color: var(--nbp-black); }
.nbp-menu .current-menu-item > a,
.nbp-menu .current_page_item > a { background: var(--nbp-accent); color: var(--nbp-accent-ink); }

.nbp-menu .sub-menu {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 230px;
	margin: 0; padding: 8px;
	list-style: none;
	background: var(--nbp-white);
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	box-shadow: var(--nbp-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .16s ease, transform .16s ease, visibility .16s;
}
.nbp-menu li:hover > .sub-menu,
.nbp-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nbp-menu .sub-menu a { display: flex; width: 100%; border-radius: var(--nbp-radius-sm); }

.nbp-header-actions { display: flex; align-items: center; gap: 8px; }
.nbp-header-cta { display: none; }

.nbp-cart-button { position: relative; }
.nbp-cart-count {
	position: absolute;
	top: -4px; right: -4px;
	min-width: 21px; height: 21px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
	font-size: .7rem;
	font-weight: 800;
}
.nbp-cart-total { display: none; }

.nbp-overlay {
	position: fixed;
	inset: 0;
	z-index: 90;
	background: rgba(17, 17, 17, .5);
	opacity: 0;
	visibility: hidden;
	transition: opacity .2s ease, visibility .2s;
}
.nbp-overlay.is-open { opacity: 1; visibility: visible; }

/* ---------------------------------------------------------- drawers */

.nbp-drawer {
	position: fixed;
	top: 0; right: 0; bottom: 0;
	z-index: 100;
	display: flex;
	flex-direction: column;
	width: min(420px, 92vw);
	background: var(--nbp-white);
	box-shadow: -12px 0 40px rgba(17, 17, 17, .18);
	transform: translateX(102%);
	transition: transform .26s cubic-bezier(.4, 0, .2, 1);
}
.nbp-drawer[aria-hidden="false"] { transform: translateX(0); }
.nbp-drawer.is-left { right: auto; left: 0; transform: translateX(-102%); box-shadow: 12px 0 40px rgba(17, 17, 17, .18); }
.nbp-drawer.is-left[aria-hidden="false"] { transform: translateX(0); }
.nbp-drawer.is-top {
	right: 0; left: 0; bottom: auto;
	width: 100%;
	transform: translateY(-102%);
	box-shadow: 0 18px 40px rgba(17, 17, 17, .16);
}
.nbp-drawer.is-top[aria-hidden="false"] { transform: translateY(0); }

.nbp-drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 20px;
	border-bottom: 1px solid var(--nbp-line);
}
.nbp-drawer-title { margin: 0; font-size: 1.05rem; font-weight: 800; }
.nbp-drawer-body { flex: 1; overflow-y: auto; padding: 20px; }
.nbp-drawer-foot { padding: 18px 20px; border-top: 1px solid var(--nbp-line); background: var(--nbp-cloud); }
.nbp-drawer-note { margin: 12px 0 0; font-size: .85rem; color: var(--nbp-ink-50); }
.nbp-drawer-cta { margin-top: 10px; }

.nbp-drawer-menu, .nbp-drawer-links { margin: 0; padding: 0; list-style: none; }
.nbp-drawer-menu > li + li { border-top: 1px solid var(--nbp-line); }
.nbp-drawer-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 2px;
	font-size: 1.05rem;
	font-weight: 700;
}
.nbp-drawer-menu .sub-menu { margin: 0 0 10px; padding: 0 0 0 14px; list-style: none; }
.nbp-drawer-menu .sub-menu a { padding: 9px 2px; font-size: .95rem; font-weight: 500; color: var(--nbp-ink-70); }
.nbp-drawer-links { margin-top: 22px; display: grid; gap: 4px; }
.nbp-drawer-links a { display: block; padding: 8px 0; font-size: .92rem; color: var(--nbp-ink-70); }

.nbp-search-form {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 8px 8px 16px;
	border: 1.5px solid var(--nbp-line);
	border-radius: 999px;
	background: var(--nbp-white);
}
.nbp-search-form:focus-within { border-color: var(--nbp-black); }
.nbp-search-form input[type="search"],
.nbp-search-form input[type="text"] {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	font: inherit;
	padding: 10px 0;
}
.nbp-search-form input:focus { outline: none; }
.nbp-search-form .nbp-icon { color: var(--nbp-ink-50); }

.nbp-search-suggest { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

[data-nbp-search-status] { margin: 16px 0 0; font-size: .9rem; color: var(--nbp-ink-50); }

[data-nbp-search-results] { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
[data-nbp-search-results] li a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-white);
}
[data-nbp-search-results] li a:hover { border-color: var(--nbp-black); background: var(--nbp-cloud); }
[data-nbp-search-results] img { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; }
[data-nbp-search-results] strong { display: block; font-size: .95rem; }
[data-nbp-search-results] span { font-size: .85rem; color: var(--nbp-ink-50); }

.nbp-mini-cart-body .nbp-mini-item {
	display: flex;
	gap: 12px;
	padding: 14px 0;
	border-bottom: 1px solid var(--nbp-line);
}
.nbp-mini-cart-body img { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; }
.nbp-mini-cart-body .nbp-mini-meta { font-size: .85rem; color: var(--nbp-ink-50); }
.nbp-mini-total { display: flex; justify-content: space-between; font-weight: 800; margin-bottom: 12px; }

/* ---------------------------------------------------------- hero */

.nbp-hero { padding-block: clamp(32px, 5vw, 76px) clamp(28px, 4vw, 56px); background: linear-gradient(180deg, var(--nbp-cloud), var(--nbp-white)); }
.nbp-hero-grid { display: grid; gap: clamp(28px, 4vw, 56px); align-items: center; }
.nbp-hero-title { margin-bottom: .35em; }
.nbp-hero-text { max-width: 56ch; font-size: clamp(1rem, 1.6vw, 1.15rem); color: var(--nbp-ink-70); }
.nbp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }

.nbp-hero-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 18px;
	margin: 34px 0 0; padding: 22px 0 0;
	list-style: none;
	border-top: 1px solid var(--nbp-line);
}
.nbp-hero-stats strong { display: block; font-size: clamp(1.4rem, 3vw, 1.9rem); font-weight: 800; letter-spacing: -.02em; }
.nbp-hero-stats span { font-size: .86rem; color: var(--nbp-ink-50); }

.nbp-hero-panel { display: grid; gap: 18px; }
.nbp-hero-image { width: 100%; border-radius: var(--nbp-radius); box-shadow: var(--nbp-shadow); }
.nbp-hero-card {
	padding: 22px;
	border: 1.5px solid var(--nbp-black);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
	box-shadow: var(--nbp-shadow);
}
.nbp-hero-card-title { font-size: 1.1rem; }
.nbp-hero-list { margin: 0 0 18px; padding: 0; list-style: none; }
.nbp-hero-list li {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 11px 0;
	border-bottom: 1px dashed var(--nbp-line);
	font-size: .94rem;
}
.nbp-hero-list li:last-child { border-bottom: 0; }
.nbp-hero-list-label { font-weight: 700; }
.nbp-hero-list-note { color: var(--nbp-ink-50); text-align: right; }

/* ---------------------------------------------------------- trust strip */

.nbp-trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: 2px;
	margin: 0; padding: 0;
	list-style: none;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	overflow: hidden;
	background: var(--nbp-line);
}
.nbp-trust li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 15px 18px;
	background: var(--nbp-white);
	font-size: .9rem;
	font-weight: 600;
}
.nbp-trust .nbp-icon { color: var(--nbp-black); }
.nbp-trust li span[lang="bn"] { display: block; font-weight: 500; font-size: .85rem; color: var(--nbp-ink-50); }

/* ---------------------------------------------------------- cards + grids */

.nbp-card-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }

.nbp-cat-card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	position: relative;
	padding: 22px;
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nbp-cat-card:hover { border-color: var(--nbp-black); transform: translateY(-3px); box-shadow: var(--nbp-shadow); color: inherit; }
.nbp-cat-card .nbp-badge { position: absolute; top: 16px; right: 16px; }
.nbp-cat-card h3 { margin: 0; }
.nbp-cat-card p { margin: 0; color: var(--nbp-ink-70); font-size: .95rem; }
.nbp-cat-media img { border-radius: var(--nbp-radius-sm); width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nbp-cat-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px; height: 52px;
	border-radius: 14px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
}
.nbp-cat-icon .nbp-icon { width: 24px; height: 24px; }
.nbp-card-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	padding-top: 8px;
	font-weight: 700;
	font-size: .92rem;
}
.nbp-card-link .nbp-icon { width: 16px; height: 16px; transition: transform .18s ease; }
.nbp-cat-card:hover .nbp-card-link .nbp-icon { transform: translateX(4px); }

.nbp-usp.is-dark { background: var(--nbp-black); color: var(--nbp-white); }
.nbp-usp.is-dark .nbp-section-head p { color: rgba(255, 255, 255, .72); }
.nbp-usp.is-dark .nbp-head-bn { color: rgba(255, 255, 255, .6); }
.nbp-usp-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }
.nbp-usp-card {
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: var(--nbp-radius);
	background: rgba(255, 255, 255, .04);
}
.nbp-usp-card h3 { margin: 14px 0 8px; }
.nbp-usp-card p { margin: 0; color: rgba(255, 255, 255, .74); font-size: .95rem; }
.nbp-usp-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px; height: 46px;
	border-radius: 12px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
}

/* ---------------------------------------------------------- process */

.nbp-process { background: var(--nbp-cloud); }
.nbp-process-grid { display: grid; gap: 18px; grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; counter-reset: none; }
.nbp-process-step {
	padding: 24px;
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
	border: 1px solid var(--nbp-line);
}
.nbp-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px; height: 42px;
	margin-bottom: 14px;
	border-radius: 999px;
	background: var(--nbp-black);
	color: var(--nbp-accent);
	font-weight: 800;
}
.nbp-process-step h3 { margin: 0 0 6px; }
.nbp-process-step p { margin: 0; color: var(--nbp-ink-70); font-size: .95rem; }

.nbp-process-timeline { margin: 0 0 40px; padding: 0; list-style: none; display: grid; gap: 22px; }
.nbp-process-timeline > li {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 18px;
	padding: 22px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
}
.nbp-process-timeline h2 { font-size: 1.25rem; margin: 0 0 6px; }
.nbp-process-timeline p { margin: 0; color: var(--nbp-ink-70); }

/* ---------------------------------------------------------- calculator */

.nbp-calc-section { background: var(--nbp-black); color: var(--nbp-white); }
.nbp-calc-section .nbp-section-head p { color: rgba(255, 255, 255, .72); }
.nbp-calc-section .nbp-head-bn { color: rgba(255, 255, 255, .6); }
.nbp-calc-layout { display: grid; gap: clamp(26px, 4vw, 52px); align-items: start; }
.nbp-calc-points { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.nbp-calc-points li { display: flex; align-items: center; gap: 10px; color: rgba(255, 255, 255, .82); font-size: .95rem; }
.nbp-calc-points .nbp-icon { color: var(--nbp-accent); }

.nbp-calc {
	padding: clamp(20px, 3vw, 30px);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
	color: var(--nbp-black);
	box-shadow: var(--nbp-shadow);
}
.nbp-calc-row { display: block; margin-bottom: 16px; }
.nbp-calc-row > span { display: block; margin-bottom: 7px; font-size: .88rem; font-weight: 700; }
.nbp-calc-row select,
.nbp-calc-row input {
	width: 100%;
	padding: 13px 14px;
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius-sm);
	font: inherit;
	background: var(--nbp-white);
	min-height: 48px;
}
.nbp-calc-row select:focus,
.nbp-calc-row input:focus { border-color: var(--nbp-black); outline: none; }
.nbp-calc-check { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; font-size: .95rem; font-weight: 600; }
.nbp-calc-check input { width: 20px; height: 20px; accent-color: var(--nbp-black); }
.nbp-calc-result {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 16px;
	padding: 18px;
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
}
.nbp-calc-result strong { display: block; font-size: clamp(1.3rem, 3vw, 1.8rem); font-weight: 800; letter-spacing: -.02em; }
.nbp-calc-label { font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; opacity: .75; }
.nbp-calc-unit { text-align: right; }
.nbp-calc-note { margin: 12px 0 0; font-size: .86rem; color: var(--nbp-ink-50); min-height: 1.2em; }
.nbp-calc-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

/* ---------------------------------------------------------- reviews + faq */

.nbp-review-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }
.nbp-review {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-cloud);
}
.nbp-review blockquote { margin: 12px 0 16px; font-size: 1.02rem; }
.nbp-review figcaption strong { display: block; }
.nbp-review figcaption span { font-size: .86rem; color: var(--nbp-ink-50); }
.nbp-stars { display: flex; gap: 3px; color: var(--nbp-black); }
.nbp-stars .nbp-icon { width: 17px; height: 17px; fill: var(--nbp-accent); stroke: var(--nbp-black); }

.nbp-faq-layout { display: grid; gap: clamp(24px, 4vw, 52px); align-items: start; }
.nbp-accordion { display: grid; gap: 10px; }
.nbp-accordion-item {
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
	overflow: hidden;
}
.nbp-accordion-item.is-open { border-color: var(--nbp-black); }
.nbp-accordion-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 17px 18px;
	border: 0;
	background: transparent;
	font: inherit;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
	min-height: 56px;
}
.nbp-accordion-trigger:hover { background: var(--nbp-cloud); }
.nbp-accordion-trigger .nbp-icon { transition: transform .2s ease; }
.nbp-accordion-item.is-open .nbp-accordion-trigger .nbp-icon { transform: rotate(45deg); }
.nbp-accordion-panel { padding: 0 18px 18px; color: var(--nbp-ink-70); }
.nbp-accordion-panel p { margin: 0; }

.nbp-faq-search {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 22px;
	padding: 4px 18px;
	border: 1.5px solid var(--nbp-line);
	border-radius: 999px;
	max-width: 520px;
}
.nbp-faq-search input { flex: 1; border: 0; padding: 14px 0; font: inherit; background: transparent; }
.nbp-faq-search input:focus { outline: none; }
.nbp-faq-empty { color: var(--nbp-ink-50); }
.nbp-faq-cta {
	margin-top: 40px;
	padding: clamp(22px, 3vw, 36px);
	border-radius: var(--nbp-radius);
	background: var(--nbp-cloud);
	text-align: center;
}
.nbp-faq-cta-actions, .nbp-legal-help-actions, .nbp-empty-actions, .nbp-404-links, .nbp-thanks-actions, .nbp-help-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

/* ---------------------------------------------------------- cta band */

.nbp-cta { padding-block: clamp(40px, 6vw, 80px); background: var(--nbp-black); color: var(--nbp-white); }
.nbp-cta-inner { display: grid; gap: 24px; align-items: center; }
.nbp-cta h2 { margin: 0 0 10px; }
.nbp-cta p { margin: 0; color: rgba(255, 255, 255, .74); }
.nbp-cta .nbp-head-bn { color: var(--nbp-accent); }
.nbp-cta-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------------------------------------------------------- page heads + prose */

.nbp-page-head { padding-block: clamp(28px, 4vw, 60px) clamp(20px, 3vw, 34px); background: var(--nbp-cloud); border-bottom: 1px solid var(--nbp-line); }
.nbp-page-head h1 { margin: 0; }
.nbp-page-sub { margin: 14px 0 0; max-width: 68ch; color: var(--nbp-ink-70); }
.nbp-page-head .nbp-trust { margin-top: 24px; }
.nbp-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; font-size: .85rem; color: var(--nbp-ink-50); }
.nbp-breadcrumb a { font-weight: 600; }
.nbp-breadcrumb a:hover { text-decoration: underline; }

.nbp-prose { max-width: 76ch; padding-block: clamp(28px, 4vw, 56px); }
.nbp-section .nbp-prose { padding-block: 0 32px; }
.nbp-prose h2 { margin-top: 1.7em; font-size: clamp(1.3rem, 2.4vw, 1.7rem); }
.nbp-prose h3 { margin-top: 1.4em; }
.nbp-prose ul, .nbp-prose ol { padding-left: 1.25em; }
.nbp-prose li { margin-bottom: .45em; }
.nbp-prose a { text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.nbp-prose table { width: 100%; border-collapse: collapse; margin: 1.4em 0; }
.nbp-prose th, .nbp-prose td { padding: 12px; border: 1px solid var(--nbp-line); text-align: left; }
.nbp-prose th { background: var(--nbp-cloud); }
.nbp-prose blockquote {
	margin: 1.4em 0;
	padding: 16px 20px;
	border-left: 4px solid var(--nbp-accent);
	background: var(--nbp-cloud);
	border-radius: 0 var(--nbp-radius-sm) var(--nbp-radius-sm) 0;
}

.nbp-post-grid { display: grid; gap: 20px; grid-template-columns: 1fr; }
.nbp-post-card { border: 1px solid var(--nbp-line); border-radius: var(--nbp-radius); overflow: hidden; background: var(--nbp-white); }
.nbp-post-media img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.nbp-post-body { padding: 20px; }
.nbp-post-date { font-size: .82rem; color: var(--nbp-ink-50); }
.nbp-post-card h2 { font-size: 1.2rem; margin: 6px 0 8px; }
.nbp-post-hero img { border-radius: var(--nbp-radius); margin-top: 28px; }
.nbp-post-foot { padding-bottom: 60px; }
.nbp-empty-state { padding: 40px 0; text-align: center; color: var(--nbp-ink-70); }

.nbp-404 { text-align: center; }
.nbp-404-inner { max-width: 640px; margin-inline: auto; }
.nbp-404-inner .nbp-search-form { margin: 24px 0; }

/* ---------------------------------------------------------- contact + track */

.nbp-contact-layout, .nbp-track-layout { display: grid; gap: clamp(22px, 3vw, 40px); align-items: start; }
.nbp-contact-form, .nbp-track-card, .nbp-contact-card, .nbp-checkout-help {
	padding: clamp(20px, 3vw, 30px);
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
}
.nbp-contact-form h2, .nbp-contact-card h2, .nbp-checkout-help h2 { font-size: 1.15rem; margin-top: 0; }
.nbp-contact-side, .nbp-track-side { display: grid; gap: 18px; }
.nbp-contact-card.is-accent { background: var(--nbp-accent); border-color: var(--nbp-accent); }
.nbp-contact-card.is-accent p { color: rgba(17, 17, 17, .78); }
.nbp-contact-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 16px; }
.nbp-contact-list li { display: flex; gap: 12px; align-items: flex-start; font-size: .95rem; }
.nbp-contact-list strong { display: block; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; color: var(--nbp-ink-50); }
.nbp-contact-list a:hover { text-decoration: underline; }
.nbp-map { border-radius: var(--nbp-radius); overflow: hidden; border: 1px solid var(--nbp-line); }
.nbp-map iframe { width: 100%; height: 260px; border: 0; display: block; }

.nbp-form-row { display: block; margin-bottom: 16px; }
.nbp-form-label { display: block; margin-bottom: 7px; font-size: .88rem; font-weight: 700; }
.nbp-form-row input, .nbp-form-row select, .nbp-form-row textarea {
	width: 100%;
	padding: 13px 14px;
	min-height: 48px;
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius-sm);
	font: inherit;
	background: var(--nbp-white);
}
.nbp-form-row textarea { min-height: 140px; resize: vertical; }
.nbp-form-row input:focus, .nbp-form-row select:focus, .nbp-form-row textarea:focus { border-color: var(--nbp-black); outline: none; }
.nbp-form-hp { position: absolute; left: -9999px; }
.nbp-form-note { font-size: .85rem; color: var(--nbp-ink-50); }
.nbp-form-error { padding: 12px 14px; border-radius: var(--nbp-radius-sm); background: #fdecec; color: #8a1c1c; margin-bottom: 16px; }
.nbp-form-success { padding: 12px 14px; border-radius: var(--nbp-radius-sm); background: var(--nbp-accent-soft); margin-bottom: 16px; font-weight: 600; }

.nbp-track-result { margin-top: 18px; padding: 16px; border-radius: var(--nbp-radius-sm); background: var(--nbp-cloud); font-size: .95rem; }
.nbp-track-result.is-error { background: #fdecec; color: #8a1c1c; }
.nbp-track-stages { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.nbp-track-stages li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius-sm);
	color: var(--nbp-ink-50);
	font-weight: 600;
}
.nbp-track-stages li::before {
	content: "";
	width: 14px; height: 14px;
	border-radius: 999px;
	border: 2px solid var(--nbp-line);
}
.nbp-track-stages li.is-done { color: var(--nbp-black); border-color: var(--nbp-black); }
.nbp-track-stages li.is-done::before { background: var(--nbp-accent); border-color: var(--nbp-black); }

/* ---------------------------------------------------------- legal */

.nbp-legal-layout { display: grid; gap: clamp(24px, 4vw, 52px); align-items: start; }
.nbp-legal-toc {
	padding: 22px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-cloud);
}
.nbp-legal-toc h2 { font-size: .95rem; text-transform: uppercase; letter-spacing: .08em; }
.nbp-legal-toc ol { margin: 0; padding-left: 1.1em; display: grid; gap: 8px; font-size: .92rem; }
.nbp-legal-body { max-width: 76ch; padding-block: 0; }
.nbp-legal-help {
	margin-top: 44px;
	padding: clamp(20px, 3vw, 32px);
	border-radius: var(--nbp-radius);
	background: var(--nbp-black);
	color: var(--nbp-white);
	text-align: center;
}
.nbp-legal-help h2 { color: var(--nbp-white); margin-top: 0; }
.nbp-legal-help p { color: rgba(255, 255, 255, .74); }

/* ---------------------------------------------------------- woocommerce */

.nbp-woo ul.products {
	display: grid;
	gap: 18px;
	grid-template-columns: 1fr;
	margin: 0; padding: 0;
	list-style: none;
}
.nbp-woo ul.products::before, .nbp-woo ul.products::after { content: none; }

.nbp-product-card, .nbp-woo ul.products li.product {
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
	overflow: hidden;
	transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nbp-product-card:hover { border-color: var(--nbp-black); transform: translateY(-3px); box-shadow: var(--nbp-shadow); }
.nbp-product-media { position: relative; display: block; background: var(--nbp-cloud); }
.nbp-product-media img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.nbp-product-flags { position: absolute; top: 12px; left: 12px; display: grid; gap: 6px; }
.nbp-product-body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 18px; }
.nbp-product-title { margin: 0; font-size: 1.05rem; }
.nbp-product-excerpt { margin: 0; font-size: .9rem; color: var(--nbp-ink-50); }
.nbp-product-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin-top: auto; }
.nbp-product-price { font-size: 1.15rem; font-weight: 800; }
.nbp-product-price del { color: var(--nbp-ink-50); font-weight: 500; font-size: .9rem; }
.nbp-product-price ins { text-decoration: none; }
.nbp-product-moq { font-size: .82rem; color: var(--nbp-ink-50); }
.nbp-product-actions { display: grid; gap: 8px; margin-top: 12px; }
.nbp-product-details { text-align: center; font-size: .88rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

.nbp-woo ul.products li.product a.button,
.nbp-woo .woocommerce-loop-product__title { all: unset; }
.nbp-woo ul.products li.product a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 22px;
	min-height: 48px;
	border-radius: 999px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
	font-weight: 700;
	cursor: pointer;
	width: 100%;
	box-sizing: border-box;
}
.nbp-woo ul.products li.product a.button:hover { background: #dcff3d; }
.nbp-woo ul.products li.product a.added_to_cart {
	display: block;
	margin-top: 8px;
	font-size: .85rem;
	text-align: center;
	text-decoration: underline;
}

.nbp-shop-layout { display: grid; gap: clamp(22px, 3vw, 44px); align-items: start; }
.nbp-shop-sidebar { display: grid; gap: 18px; }
.nbp-shop-sidebar .widget {
	padding: 20px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-cloud);
}
.nbp-shop-sidebar .widget ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: .95rem; }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper .woocommerce-message {
	list-style: none;
	margin: 0 0 22px;
	padding: 15px 18px;
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-cloud);
	border-left: 4px solid var(--nbp-accent);
	font-size: .95rem;
}
.woocommerce-error { background: #fdecec; border-left-color: #cf2222; color: #8a1c1c; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }

.nbp-ship-bar { margin-bottom: 22px; }
.nbp-ship-bar p { margin: 0 0 8px; font-size: .9rem; font-weight: 600; }
.nbp-ship-track { height: 8px; border-radius: 999px; background: var(--nbp-line); overflow: hidden; }
.nbp-ship-fill { display: block; height: 100%; border-radius: 999px; background: var(--nbp-accent); transition: width .3s ease; }

.nbp-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 22px;
	padding: 14px 16px;
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-accent-soft);
	font-size: .92rem;
	font-weight: 600;
}

.nbp-steps { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; padding: 0; list-style: none; }
.nbp-step {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px;
	border-radius: 999px;
	background: var(--nbp-white);
	border: 1.5px solid var(--nbp-line);
	font-size: .86rem;
	font-weight: 700;
	color: var(--nbp-ink-50);
}
.nbp-step-num {
	width: 24px; height: 24px;
	margin: 0;
	font-size: .78rem;
	background: var(--nbp-line);
	color: var(--nbp-black);
}
.nbp-step.is-active { border-color: var(--nbp-black); color: var(--nbp-black); }
.nbp-step.is-active .nbp-step-num { background: var(--nbp-accent); color: var(--nbp-accent-ink); }
.nbp-step.is-done { color: var(--nbp-black); }
.nbp-step.is-done .nbp-step-num { background: var(--nbp-black); color: var(--nbp-accent); }

.nbp-cart-layout, .nbp-checkout-layout { display: grid; gap: clamp(22px, 3vw, 40px); align-items: start; }
.nbp-cart-items { margin: 0 0 22px; padding: 0; list-style: none; }
.nbp-cart-item {
	display: grid;
	grid-template-columns: 84px 1fr;
	gap: 16px;
	padding: 18px 0;
	border-bottom: 1px solid var(--nbp-line);
}
.nbp-cart-thumb img { width: 84px; height: 84px; border-radius: var(--nbp-radius-sm); object-fit: cover; }
.nbp-cart-name { font-size: 1.02rem; margin: 0 0 6px; }
.nbp-cart-meta { font-size: .88rem; color: var(--nbp-ink-50); display: grid; gap: 3px; margin-bottom: 12px; }
.nbp-cart-unit { font-weight: 600; color: var(--nbp-ink-70); }
.nbp-cart-controls { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.nbp-cart-total { grid-column: 2; font-weight: 800; font-size: 1.05rem; }
.nbp-cart-remove { display: inline-flex; align-items: center; gap: 6px; font-size: .85rem; color: var(--nbp-ink-50); }
.nbp-cart-remove:hover { color: #cf2222; }

.nbp-qty { display: inline-flex; align-items: center; border: 1.5px solid var(--nbp-line); border-radius: 999px; overflow: hidden; }
.nbp-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px; height: 44px;
	border: 0;
	background: var(--nbp-white);
	cursor: pointer;
	color: var(--nbp-black);
}
.nbp-qty-btn:hover { background: var(--nbp-cloud); }
.nbp-qty .quantity { margin: 0; }
.nbp-qty input.qty, .nbp-qty .quantity input {
	width: 56px;
	height: 44px;
	border: 0;
	border-inline: 1.5px solid var(--nbp-line);
	text-align: center;
	font: inherit;
	font-weight: 700;
	-moz-appearance: textfield;
}
.nbp-qty input.qty::-webkit-outer-spin-button,
.nbp-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.nbp-cart-actions { display: grid; gap: 16px; padding-bottom: 8px; }
.nbp-coupon label { display: block; margin-bottom: 8px; font-weight: 700; font-size: .9rem; }
.nbp-coupon-row { display: flex; gap: 10px; flex-wrap: wrap; }
.nbp-coupon-row input {
	flex: 1;
	min-width: 160px;
	padding: 13px 16px;
	min-height: 48px;
	border: 1.5px solid var(--nbp-line);
	border-radius: 999px;
	font: inherit;
}
.nbp-cart-continue { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-weight: 700; }

.nbp-cart-side { display: grid; gap: 18px; position: sticky; top: 90px; }
.nbp-cart-summary, .cart_totals {
	padding: 22px;
	border: 1.5px solid var(--nbp-black);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
}
.cart_totals h2 { font-size: 1.1rem; }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals th, .cart_totals td { padding: 11px 0; text-align: left; border-bottom: 1px dashed var(--nbp-line); font-size: .95rem; }
.cart_totals tr:last-child th, .cart_totals tr:last-child td { border-bottom: 0; font-size: 1.1rem; font-weight: 800; }
.cart_totals .checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
	padding: 16px 24px;
	min-height: 56px;
	border-radius: 999px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
	font-weight: 800;
}
.cart_totals .checkout-button:hover { background: #dcff3d; }

.nbp-cart-assure { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.nbp-cart-assure li { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; color: var(--nbp-ink-70); }
.nbp-cart-assure .nbp-icon { color: var(--nbp-black); }

.nbp-empty-cart { text-align: center; padding-block: 30px 50px; }
.nbp-empty-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 74px; height: 74px;
	margin-bottom: 18px;
	border-radius: 999px;
	background: var(--nbp-accent);
}
.nbp-empty-icon .nbp-icon { width: 32px; height: 32px; }

.nbp-checkout-block {
	margin-bottom: 22px;
	padding: clamp(18px, 3vw, 28px);
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
}
.nbp-checkout-block-title { display: flex; align-items: center; gap: 12px; font-size: 1.15rem; margin: 0 0 18px; }
.nbp-block-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px; height: 34px;
	border-radius: 999px;
	background: var(--nbp-black);
	color: var(--nbp-accent);
	font-size: .95rem;
}

.nbp-checkout .form-row { display: block; margin-bottom: 16px; }
.nbp-checkout label { display: block; margin-bottom: 7px; font-size: .88rem; font-weight: 700; }
.nbp-checkout .required { color: #cf2222; text-decoration: none; }
.nbp-checkout input[type="text"],
.nbp-checkout input[type="tel"],
.nbp-checkout input[type="email"],
.nbp-checkout input[type="password"],
.nbp-checkout textarea,
.nbp-checkout select,
.nbp-checkout .select2-selection {
	width: 100%;
	padding: 13px 14px;
	min-height: 48px;
	border: 1.5px solid var(--nbp-line) !important;
	border-radius: var(--nbp-radius-sm) !important;
	font: inherit;
	background: var(--nbp-white);
}
.nbp-checkout textarea { min-height: 110px; }
.nbp-checkout input:focus, .nbp-checkout select:focus, .nbp-checkout textarea:focus { border-color: var(--nbp-black) !important; outline: none; }
.nbp-checkout .form-row-first, .nbp-checkout .form-row-last { width: 100%; float: none; }

.nbp-order-review table.shop_table { width: 100%; border-collapse: collapse; margin-bottom: 18px; }
.nbp-order-review th, .nbp-order-review td { padding: 12px 0; text-align: left; border-bottom: 1px dashed var(--nbp-line); font-size: .95rem; }
.nbp-order-review tfoot tr:last-child th, .nbp-order-review tfoot tr:last-child td { font-size: 1.1rem; font-weight: 800; border-bottom: 0; }

#payment ul.payment_methods { margin: 0 0 18px; padding: 0; list-style: none; display: grid; gap: 10px; }
#payment ul.payment_methods > li {
	padding: 14px 16px;
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-white);
}
#payment ul.payment_methods > li label { display: inline; font-weight: 700; margin: 0; }
#payment ul.payment_methods .payment_box { margin-top: 10px; font-size: .9rem; color: var(--nbp-ink-70); }
#payment .place-order button, #place_order {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	padding: 16px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
	font: inherit;
	font-size: 1.05rem;
	font-weight: 800;
	cursor: pointer;
}
#place_order:hover { background: #dcff3d; }
.woocommerce-privacy-policy-text { font-size: .85rem; color: var(--nbp-ink-50); }

.nbp-checkout-side { position: sticky; top: 90px; }
.nbp-checkout-payment-help { font-size: .9rem; color: var(--nbp-ink-70); }
.nbp-checkout-note { margin-top: 14px; font-size: .88rem; color: var(--nbp-ink-50); }

.nbp-thanks { display: grid; gap: 26px; }
.nbp-thanks-hero {
	padding: clamp(22px, 4vw, 40px);
	border-radius: var(--nbp-radius);
	background: var(--nbp-cloud);
	text-align: center;
}
.nbp-thanks-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 68px; height: 68px;
	margin-bottom: 16px;
	border-radius: 999px;
	background: var(--nbp-accent);
}
.nbp-thanks-check .nbp-icon { width: 32px; height: 32px; stroke-width: 2.6; }
.nbp-thanks-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 14px;
	margin: 26px 0;
	padding: 0;
	list-style: none;
	text-align: left;
}
.nbp-thanks-facts li { padding: 14px 16px; border-radius: var(--nbp-radius-sm); background: var(--nbp-white); border: 1px solid var(--nbp-line); }
.nbp-thanks-facts span { display: block; font-size: .76rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--nbp-ink-50); }
.nbp-thanks-facts strong { font-size: 1.02rem; }
.nbp-thanks-failed { padding: clamp(20px, 3vw, 32px); border-radius: var(--nbp-radius); background: #fdecec; text-align: center; }

.nbp-next-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 14px; }
.nbp-next-steps li {
	display: grid;
	grid-template-columns: 42px 1fr;
	gap: 14px;
	align-items: start;
	padding: 18px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
}
.nbp-next-steps strong { display: block; }
.nbp-next-steps p { margin: 4px 0 0; font-size: .92rem; color: var(--nbp-ink-70); }

.nbp-thanks-details table.shop_table, .woocommerce-order-details table.shop_table, .woocommerce-customer-details table {
	width: 100%;
	border-collapse: collapse;
}
.nbp-thanks-details th, .nbp-thanks-details td, .woocommerce-order-details th, .woocommerce-order-details td {
	padding: 12px;
	border-bottom: 1px solid var(--nbp-line);
	text-align: left;
	font-size: .95rem;
}
.woocommerce-order-details h2, .woocommerce-customer-details h2 { font-size: 1.15rem; margin-top: 32px; }
.woocommerce-order-overview { display: none; }

.nbp-help-band { background: var(--nbp-cloud); }
.nbp-help-inner { display: grid; gap: 20px; align-items: center; }
.nbp-help-inner h2 { margin: 0 0 8px; font-size: clamp(1.3rem, 2.6vw, 1.8rem); }
.nbp-help-inner p { margin: 0; color: var(--nbp-ink-70); }
.nbp-help-actions { justify-content: flex-start; }

/* single product */
.nbp-woo-product div.product { display: grid; gap: clamp(22px, 3vw, 44px); }
.nbp-woo-product .woocommerce-product-gallery { position: relative; }
.nbp-woo-product .woocommerce-product-gallery img { border-radius: var(--nbp-radius); }
.nbp-woo-product .product_title { font-size: clamp(1.6rem, 3.4vw, 2.4rem); }
.nbp-woo-product .price { font-size: 1.4rem; font-weight: 800; }
.nbp-woo-product .price del { font-size: 1rem; color: var(--nbp-ink-50); font-weight: 500; }
.nbp-woo-product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 22px 0; }
.nbp-woo-product form.cart .quantity input {
	width: 84px; height: 52px;
	padding: 0 10px;
	border: 1.5px solid var(--nbp-line);
	border-radius: 999px;
	text-align: center;
	font: inherit;
	font-weight: 700;
}
.nbp-woo-product form.cart button.button, .nbp-woo-product .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 15px 30px;
	border: 0;
	border-radius: 999px;
	background: var(--nbp-accent);
	color: var(--nbp-accent-ink);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}
.nbp-woo-product .single_add_to_cart_button:hover { background: #dcff3d; }
.nbp-woo-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 18px;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--nbp-line);
}
.nbp-woo-product .woocommerce-tabs ul.tabs li a { display: inline-block; padding: 12px 18px; font-weight: 700; border-radius: 999px 999px 0 0; }
.nbp-woo-product .woocommerce-tabs ul.tabs li.active a { background: var(--nbp-accent); color: var(--nbp-accent-ink); }
.nbp-woo-product .related h2, .nbp-woo-product .upsells h2 { font-size: 1.4rem; margin-top: 44px; }
.nbp-product-help {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: 18px 0;
	padding: 16px;
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-cloud);
	font-size: .92rem;
}

/* account */
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 0 26px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: inline-block; padding: 10px 16px; border: 1.5px solid var(--nbp-line); border-radius: 999px; font-weight: 700; font-size: .9rem; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--nbp-black); color: var(--nbp-white); border-color: var(--nbp-black); }
.woocommerce-account table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce-account table.shop_table th, .woocommerce-account table.shop_table td { padding: 12px; border-bottom: 1px solid var(--nbp-line); text-align: left; font-size: .92rem; }
.woocommerce form.login, .woocommerce form.register {
	padding: 24px;
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	max-width: 460px;
}
.woocommerce form.login input, .woocommerce form.register input {
	width: 100%;
	padding: 13px 14px;
	min-height: 48px;
	border: 1.5px solid var(--nbp-line);
	border-radius: var(--nbp-radius-sm);
	font: inherit;
}
.woocommerce form.login button, .woocommerce form.register button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 13px 26px;
	border: 0;
	border-radius: 999px;
	background: var(--nbp-black);
	color: var(--nbp-white);
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.woocommerce-pagination ul, .nbp-woo .woocommerce-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	border: 0;
}
.woocommerce-pagination a, .woocommerce-pagination span,
.nav-links .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px; min-height: 44px;
	padding: 0 12px;
	border: 1.5px solid var(--nbp-line);
	border-radius: 999px;
	font-weight: 700;
}
.woocommerce-pagination .current, .nav-links .page-numbers.current { background: var(--nbp-black); color: var(--nbp-white); border-color: var(--nbp-black); }
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 32px; }

/* ---------------------------------------------------------- footer */

.nbp-footer { background: var(--nbp-black); color: rgba(255, 255, 255, .78); padding-top: clamp(40px, 5vw, 72px); }
.nbp-footer a { color: rgba(255, 255, 255, .78); }
.nbp-footer a:hover { color: var(--nbp-accent); }
.nbp-footer-top { display: grid; gap: clamp(28px, 4vw, 56px); padding-bottom: 40px; }
.nbp-footer-logo { height: 34px; width: auto; margin-bottom: 16px; }
.nbp-footer-text { max-width: 42ch; font-size: .95rem; }
.nbp-footer-bn { display: block; margin-top: 8px; font-family: var(--nbp-font-bn); color: rgba(255, 255, 255, .6); }
.nbp-social { display: flex; gap: 10px; margin-top: 20px; }
.nbp-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px; height: 42px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 999px;
}
.nbp-social a:hover { background: var(--nbp-accent); color: var(--nbp-accent-ink); border-color: var(--nbp-accent); }
.nbp-footer-cols { display: grid; gap: 28px; grid-template-columns: 1fr; }
.nbp-footer-col h2 { font-size: .88rem; text-transform: uppercase; letter-spacing: .1em; color: var(--nbp-white); margin-bottom: 14px; }
.nbp-footer-menu { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; font-size: .93rem; }
.nbp-footer-menu li.is-plain { color: rgba(255, 255, 255, .6); }
.nbp-footer-contact { display: grid; gap: 12px; font-size: .93rem; }
.nbp-footer-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.nbp-footer-pay-label { font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: rgba(255, 255, 255, .55); }
.nbp-footer-pay span:not(.nbp-footer-pay-label) {
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	font-size: .8rem;
	font-weight: 700;
	color: var(--nbp-white);
}
.nbp-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	justify-content: space-between;
	padding: 20px 0 26px;
	border-top: 1px solid rgba(255, 255, 255, .14);
	font-size: .85rem;
}
.nbp-footer-made { color: rgba(255, 255, 255, .55); }

.nbp-mobile-bar {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 80;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	background: var(--nbp-white);
	border-top: 1px solid var(--nbp-line);
	box-shadow: 0 -6px 20px rgba(17, 17, 17, .07);
	padding-bottom: env(safe-area-inset-bottom);
}
.nbp-mobile-bar a, .nbp-mobile-bar button {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	padding: 9px 4px;
	min-height: 60px;
	border: 0;
	background: transparent;
	font: inherit;
	font-size: .68rem;
	font-weight: 700;
	color: var(--nbp-ink-50);
	cursor: pointer;
}
.nbp-mobile-bar a.is-active { color: var(--nbp-black); }
.nbp-mobile-bar a.is-accent { color: var(--nbp-black); }
.nbp-mobile-bar a.is-accent .nbp-icon { color: var(--nbp-black); }
.nbp-mobile-cart { position: relative; }
.nbp-mobile-bar .nbp-cart-count { top: 4px; right: 50%; margin-right: -22px; }

.nbp-to-top {
	position: fixed;
	right: 16px;
	bottom: 80px;
	z-index: 70;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.nbp-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }

body.nbp-has-mobile-bar { padding-bottom: 62px; }

/* ---------------------------------------------------------- responsive */

@media (min-width: 480px) {
	.nbp-card-grid, .nbp-usp-grid, .nbp-post-grid, .nbp-woo ul.products { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 640px) {
	.nbp-cart-item { grid-template-columns: 104px 1fr auto; }
	.nbp-cart-thumb img { width: 104px; height: 104px; }
	.nbp-cart-total { grid-column: auto; text-align: right; }
	.nbp-checkout .form-row-first, .nbp-checkout .form-row-last { width: calc(50% - 8px); float: left; }
	.nbp-checkout .form-row-last { float: right; }
	.nbp-checkout .form-row::after { content: ""; display: table; clear: both; }
	.nbp-footer-cols { grid-template-columns: repeat(2, 1fr); }
	.nbp-process-grid { grid-template-columns: repeat(2, 1fr); }
	.nbp-review-grid { grid-template-columns: repeat(2, 1fr); }
	.nbp-to-top { right: 24px; }
}

@media (min-width: 900px) {
	:root { --nbp-header-h: 76px; }
	.nbp-nav-toggle { display: none; }
	.nbp-primary-nav { display: block; }
	.nbp-header-cta { display: inline-flex; }
	.nbp-hide-mobile { display: inline-flex; }
	.nbp-mobile-bar { display: none; }
	body.nbp-has-mobile-bar { padding-bottom: 0; }
	.nbp-to-top { bottom: 28px; }

	.nbp-hero-grid { grid-template-columns: 1.15fr .85fr; }
	.nbp-card-grid, .nbp-usp-grid, .nbp-woo ul.products { grid-template-columns: repeat(3, 1fr); }
	.nbp-post-grid { grid-template-columns: repeat(3, 1fr); }
	.nbp-process-grid { grid-template-columns: repeat(4, 1fr); }
	.nbp-review-grid { grid-template-columns: repeat(3, 1fr); }
	.nbp-calc-layout { grid-template-columns: .9fr 1.1fr; }
	.nbp-faq-layout { grid-template-columns: .8fr 1.2fr; }
	.nbp-cta-inner { grid-template-columns: 1.3fr .7fr; }
	.nbp-cta-actions { justify-content: flex-end; }
	.nbp-contact-layout { grid-template-columns: 1.15fr .85fr; }
	.nbp-track-layout { grid-template-columns: 1.1fr .9fr; }
	.nbp-legal-layout { grid-template-columns: 280px 1fr; }
	.nbp-legal-toc { position: sticky; top: 96px; }
	.nbp-cart-layout { grid-template-columns: 1.4fr .6fr; }
	.nbp-checkout-layout { grid-template-columns: 1.45fr .55fr; }
	.nbp-shop-layout { grid-template-columns: 270px 1fr; }
	.nbp-woo-product div.product { grid-template-columns: 1fr 1fr; align-items: start; }
	.nbp-woo-product .woocommerce-tabs, .nbp-woo-product .related, .nbp-woo-product .upsells { grid-column: 1 / -1; }
	.nbp-footer-top { grid-template-columns: 1fr 1.6fr; }
	.nbp-footer-cols { grid-template-columns: repeat(3, 1fr); }
	.nbp-help-inner { grid-template-columns: 1.4fr .6fr; }
	.nbp-cart-total { font-size: 1.1rem; }
	.nbp-cart-count { top: -5px; right: -5px; }
	.nbp-drawer.is-top .nbp-drawer-body { padding-bottom: 34px; }
}

@media (min-width: 1200px) {
	.nbp-woo-shop ul.products { grid-template-columns: repeat(var(--nbp-shop-cols, 3), 1fr); }
	.nbp-usp-grid { grid-template-columns: repeat(4, 1fr); }
	.nbp-hero-title { font-size: 3.6rem; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

@media print {
	.nbp-header, .nbp-footer, .nbp-mobile-bar, .nbp-to-top, .nbp-announce, .nbp-drawer, .nbp-overlay { display: none !important; }
	body { color: #000; }
}

/* =====================================================================
   Layout wrappers, aliases and remaining component styles
   ===================================================================== */

.nbp-main { display: block; }

/* bilingual text helpers */
.nbp-bi { display: inline-flex; flex-direction: column; gap: 1px; }
.nbp-bi-en { display: block; }
.nbp-bn,
.nbp-bi [lang="bn"] {
	display: block;
	font-family: var(--nbp-font-bn);
	font-weight: 500;
	font-size: .84em;
	color: var(--nbp-ink-50);
	line-height: 1.45;
}
.is-dark .nbp-bn,
.nbp-footer .nbp-bn,
.nbp-cta .nbp-bn { color: rgba(255, 255, 255, .66); }

/* hero copy column */
.nbp-hero-copy { display: block; min-width: 0; }

/* trust strip wrapper */
.nbp-trust-strip { padding-block: 6px 0; }

/* homepage section wrappers */
.nbp-categories,
.nbp-featured,
.nbp-reviews,
.nbp-faq-section { position: relative; }
.nbp-featured { background: var(--nbp-white); }
.nbp-reviews { background: var(--nbp-cloud); }
.nbp-calc-intro { display: grid; gap: 18px; align-content: start; }
.nbp-faq-intro { display: grid; gap: 16px; align-content: start; }

/* drawer variants */
.nbp-drawer-nav,
.nbp-drawer-cart { width: min(420px, 92vw); }
.nbp-drawer-search { width: 100%; }
.nbp-mini-cart { display: flex; flex-direction: column; min-height: 100%; }

/* search overlay results */
.nbp-search-hint { margin: 14px 0 0; font-size: .88rem; color: var(--nbp-ink-50); min-height: 1.2em; }
.nbp-search-results { margin: 18px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.nbp-search-results li { border-bottom: 1px solid var(--nbp-line); }
.nbp-search-results li:last-child { border-bottom: 0; }
.nbp-search-results a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 6px;
	border-radius: var(--nbp-radius-sm);
	min-height: 48px;
}
.nbp-search-results a:hover { background: var(--nbp-cloud); }
.nbp-search-results img { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; background: var(--nbp-cloud); }
.nbp-search-results strong { display: block; font-size: .98rem; }
.nbp-search-results span { font-size: .88rem; color: var(--nbp-ink-50); }

/* generic form shell (contact, quote, tracker) */
.nbp-form { display: block; }
.nbp-form-grid { display: grid; gap: 0 16px; grid-template-columns: 1fr; }
.nbp-track-form { display: block; }
.nbp-alert {
	display: block;
	margin-bottom: 18px;
	padding: 13px 15px;
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-accent-soft);
	border: 1px solid var(--nbp-line);
	font-size: .93rem;
	font-weight: 600;
}
.nbp-alert.is-error { background: #fdecec; border-color: #f3c9c9; color: #8a1c1c; }
.nbp-empty { color: var(--nbp-ink-50); font-size: .95rem; }

/* shop / order heads and main columns */
.nbp-shop-head,
.nbp-order-head,
.nbp-legal-head { display: block; }
.nbp-shop-main,
.nbp-cart-main,
.nbp-checkout-main { min-width: 0; }
.nbp-checkout-fields { display: grid; gap: 18px; }
.nbp-cart-form { display: block; }
.nbp-cart-info { display: grid; gap: 6px; min-width: 0; }
.nbp-cart-note {
	margin: 0 0 20px;
	padding: 13px 15px;
	border-radius: var(--nbp-radius-sm);
	background: var(--nbp-cloud);
	border: 1px solid var(--nbp-line);
	font-size: .9rem;
	color: var(--nbp-ink-70);
}

/* product meta badges */
.nbp-product-badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; padding: 0; list-style: none; }
.nbp-product-badges li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 13px;
	border: 1px solid var(--nbp-line);
	border-radius: 999px;
	background: var(--nbp-cloud);
	font-size: .82rem;
	font-weight: 700;
}
.nbp-moq {
	display: inline-block;
	margin: 0 0 14px;
	padding: 7px 13px;
	border-radius: 999px;
	background: var(--nbp-accent-soft);
	font-size: .84rem;
	font-weight: 700;
}
.nbp-step-label { display: inline-flex; flex-direction: column; line-height: 1.25; }

/* faq page + pagination + widgets */
.nbp-faq-page { display: block; }
.nbp-page-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; font-size: .9rem; font-weight: 700; }
.nbp-page-links a { padding: 8px 12px; border: 1px solid var(--nbp-line); border-radius: 999px; }
.nbp-page-links a:hover { border-color: var(--nbp-black); }
.nbp-widget {
	padding: 20px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius);
	background: var(--nbp-white);
}
.nbp-widget ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; font-size: .95rem; }
.nbp-widget-title { margin: 0 0 12px; font-size: .9rem; text-transform: uppercase; letter-spacing: .08em; }

/* footer brand column */
.nbp-footer-brand { max-width: 44ch; }
.nbp-footer-brand .nbp-brand-name { display: block; font-size: 1.15rem; font-weight: 800; color: var(--nbp-white); }

@media (min-width: 640px) {
	.nbp-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nbp-form-grid .is-full { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
	.nbp-calc-intro, .nbp-faq-intro { gap: 22px; }
}

/* =========================================================================
 * v5.1.1 — Dark charcoal restyle (previous-theme look, dark only)
 * The inline dynamic CSS supplies --nbp-white (surface), --nbp-black (text)
 * and --nbp-panel (deep panel) from the admin colour settings.
 * ====================================================================== */

:root {
	--nbp-black: #f5f5f2;
	--nbp-white: #1a1a1a;
	--nbp-panel: #111111;
	--nbp-cloud: #202020;
	--nbp-line: #2f2f2c;
	--nbp-ink-70: #c6c6be;
	--nbp-ink-50: #94948c;
	--nbp-accent-soft: #2a3306;
	--nbp-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 18px 44px rgba(0, 0, 0, .45);
	--nbp-shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);
}

html { background: var(--nbp-white); }
body { background: var(--nbp-white); color: var(--nbp-black); }

/* Centred, wider shell */
.nbp-shell { max-width: 1440px; margin-inline: auto; width: 100%; }

/* Panels that used pure ink as a background */
.nbp-header, .nbp-announce { background: var(--nbp-panel); }
.nbp-header { border-bottom: 1px solid var(--nbp-line); }
.nbp-usp.is-dark,
.nbp-calc-section,
.nbp-cta,
.nbp-footer,
.nbp-legal-help,
.nbp-drawer,
.nbp-mobile-bar { background: var(--nbp-panel); color: var(--nbp-black); }
.nbp-usp.is-dark .nbp-section-head p,
.nbp-calc-section .nbp-section-head p,
.nbp-cta p { color: var(--nbp-ink-70); }
.nbp-reviews { background: var(--nbp-white); }

/* Cards & surfaces */
.nbp-cat-card,
.nbp-usp-card,
.nbp-product-card,
.nbp-hero-card,
.nbp-review,
.nbp-contact-card,
.nbp-track-card,
.nbp-cart-summary,
.nbp-checkout-block,
.nbp-accordion-item,
.nbp-calc {
	background: var(--nbp-cloud);
	border-color: var(--nbp-line);
	color: var(--nbp-black);
}
.nbp-cat-card:hover,
.nbp-product-card:hover,
.nbp-accordion-item.is-open,
.nbp-icon-button:hover,
.nbp-chip:hover { border-color: var(--nbp-accent); }
.nbp-icon-button:hover, .nbp-menu a:hover { background: rgba(207, 255, 4, .1); color: var(--nbp-accent); }
.nbp-review:hover { border-color: rgba(207, 255, 4, .45); transform: translateY(-2px); }
.nbp-review blockquote { color: var(--nbp-black); }
.nbp-review figcaption span { color: var(--nbp-ink-50); }

/* Buttons */
.nbp-button-dark { --btn-bg: var(--nbp-cloud); --btn-fg: var(--nbp-black); --btn-bd: var(--nbp-line); }
.nbp-button-dark:hover { --btn-bg: #2a2a27; }
.nbp-button-ghost { --btn-fg: var(--nbp-black); --btn-bd: var(--nbp-line); }
.nbp-button-ghost:hover { --btn-bg: rgba(255, 255, 255, .06); }

/* Fields */
input, select, textarea { color-scheme: dark; }
.nbp-form-row input, .nbp-form-row select, .nbp-form-row textarea,
.nbp-calc-row input, .nbp-search-form input, .nbp-track-form input,
.nbp-checkout input, .nbp-checkout select, .nbp-checkout textarea {
	background: #171717;
	border: 1px solid var(--nbp-line);
	color: var(--nbp-black);
}
.nbp-form-row input::placeholder, .nbp-form-row textarea::placeholder { color: var(--nbp-ink-50); }
.nbp-form-row input:focus, .nbp-form-row select:focus, .nbp-form-row textarea:focus,
.nbp-calc-row input:focus, .nbp-search-form:focus-within {
	border-color: var(--nbp-accent);
	outline: none;
	box-shadow: 0 0 0 3px rgba(207, 255, 4, .16);
}

/* Prose, dividers, tables */
.nbp-prose a { color: var(--nbp-accent); }
.nbp-prose table, .nbp-prose th, .nbp-prose td { border-color: var(--nbp-line); }
hr { border-color: var(--nbp-line); }

/* Drawer / sidebar menu polish */
.nbp-drawer { border-left: 1px solid var(--nbp-line); }
.nbp-drawer-head { border-bottom: 1px solid var(--nbp-line); background: var(--nbp-panel); }
.nbp-drawer-foot { background: #161615; border-top: 1px solid var(--nbp-line); }
.nbp-drawer-menu > li + li { border-top-color: var(--nbp-line); }
.nbp-drawer-menu a { color: var(--nbp-black); }
.nbp-drawer-menu a:hover { color: var(--nbp-accent); }
.nbp-drawer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nbp-drawer-links a {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 11px;
	border: 1px solid var(--nbp-line);
	border-radius: var(--nbp-radius-sm);
	color: var(--nbp-black);
	font-size: .86rem;
}
.nbp-drawer-links a:hover { border-color: var(--nbp-accent); color: var(--nbp-accent); }
.nbp-drawer-note a { color: var(--nbp-black); font-weight: 700; }

/* Misc */
.nbp-to-top { background: var(--nbp-accent); color: var(--nbp-accent-ink); }
.nbp-mobile-bar { border-top: 1px solid var(--nbp-line); }
.nbp-announce { border-bottom: 1px solid var(--nbp-line); }
.nbp-badge, .nbp-chip { border-color: var(--nbp-line); }

/* Footer wordmark (previous-theme signature) */
.nbp-footer-wordmark {
	margin: 26px 0 0;
	padding-bottom: 18px;
	font-size: clamp(2.6rem, 15vw, 11rem);
	line-height: .84;
	font-weight: 900;
	letter-spacing: -.045em;
	color: rgba(255, 255, 255, .07);
	text-align: center;
	user-select: none;
}
.nbp-footer-wordmark span { color: var(--nbp-accent); }
