/**
 * Naked Baits v5.1 — Brand direction layer
 * Burgundy · cream · #getnaked · range identity
 */

/* ── Atmosphere ── */
body.nb-redesign {
	background-color: var(--nb-bg);
	background-image:
		radial-gradient(ellipse 80% 50% at 100% 0%, rgba(118, 0, 31, 0.06), transparent 50%),
		linear-gradient(180deg, var(--nb-mist-soft), var(--nb-mist));
	background-attachment: fixed;
}

/* ── Announcement ── */
.nb-announcement--brand {
	background: var(--nb-burgundy);
	color: var(--nb-cream);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.nb-announcement__mark {
	display: inline-block;
	margin-right: 0.85rem;
	padding-right: 0.85rem;
	border-right: 1px solid rgba(245, 234, 177, 0.35);
	color: var(--nb-cream);
	font-family: var(--nb-font-display);
	font-size: 1rem;
	letter-spacing: 0.06em;
}

/* ── Header over hero ── */
.home .nb-header--over-hero:not(.is-scrolled) {
	color: var(--nb-white);
}

.home .nb-header--over-hero:not(.is-scrolled) .nb-nav__link:hover,
.home .nb-header--over-hero:not(.is-scrolled) .nb-nav__mega-toggle[aria-expanded="true"] {
	color: var(--nb-cream);
}

.home .nb-header--over-hero.is-scrolled .nb-logo-img--light {
	display: none;
}

.home .nb-header--over-hero .nb-logo-img--dark {
	display: none;
	height: 42px;
}

.home .nb-header--over-hero.is-scrolled .nb-logo-img--dark {
	display: block;
}

.nb-logo-img--light {
	height: 46px;
	filter: none;
}

.nb-header.is-scrolled .nb-logo-img--light {
	height: 38px;
}

/* ── Buttons ── */
.nb-btn--primary {
	background: var(--nb-burgundy);
	box-shadow: 0 4px 0 var(--nb-burgundy-deep);
}

.nb-btn--primary:hover {
	background: var(--nb-burgundy-bright);
	box-shadow: 0 4px 0 var(--nb-burgundy-deep);
	transform: translateY(-1px);
}

.nb-btn--cream {
	background: var(--nb-cream);
	color: var(--nb-ink);
	box-shadow: 0 4px 0 rgba(12, 10, 10, 0.15);
}

.nb-btn--cream:hover {
	background: var(--nb-white);
	color: var(--nb-ink);
}

/* ── Hero ── */
.nb-hero--branded {
	color: var(--nb-white);
}

.nb-hero__veil {
	background:
		linear-gradient(135deg, rgba(67, 0, 17, 0.55) 0%, rgba(12, 10, 10, 0.25) 45%, rgba(12, 10, 10, 0.82) 100%),
		linear-gradient(0deg, rgba(12, 10, 10, 0.4), rgba(12, 10, 10, 0.4));
}

.nb-hero__grain {
	position: absolute;
	inset: 0;
	opacity: 0.12;
	background-image: url("../images/texture.jpg");
	background-size: 400px;
	mix-blend-mode: overlay;
	pointer-events: none;
}

.nb-hero__copy {
	width: min(100% - 2rem, 780px);
	padding-top: calc(var(--nb-header-h) + 5rem);
	padding-bottom: 5rem;
}

.nb-hero__logo {
	width: min(100%, 380px);
	height: auto;
	margin: 0 0 0.65rem;
}

.nb-hero__tagline {
	font-family: var(--nb-font-display);
	font-size: clamp(1.5rem, 4vw, 2.25rem);
	letter-spacing: 0.12em;
	color: var(--nb-cream);
	margin: 0 0 1.25rem;
}

.nb-hero__title {
	font-family: var(--nb-font-heading);
	font-size: clamp(1.5rem, 3.2vw, 2.1rem);
	font-weight: 700;
	max-width: 22ch;
	margin: 0 0 0.85rem;
}

.nb-hero__link {
	color: var(--nb-cream);
	border-bottom-color: rgba(245, 234, 177, 0.6);
}

.nb-hero__link:hover {
	color: var(--nb-white);
	border-bottom-color: var(--nb-white);
}

/* ── Trust ── */
.nb-trust--brand {
	background: var(--nb-ink);
	color: rgba(255, 255, 255, 0.88);
	border: 0;
	padding: 0.9rem 0;
}

.nb-trust--brand .nb-trust__list {
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nb-trust--brand .nb-trust__list strong {
	color: var(--nb-cream);
	font-weight: 700;
}

.nb-trust--brand .nb-trust__list li + li::before {
	background: var(--nb-burgundy-bright);
}

/* ── Section headers ── */
.nb-section-header--brand {
	position: relative;
	padding-left: 1.15rem;
	border-left: 4px solid var(--nb-burgundy);
	max-width: none;
}

.nb-section-header__eyebrow {
	font-family: var(--nb-font-display);
	font-size: 1.125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nb-burgundy);
	margin: 0 0 0.35rem;
}

.nb-section-header__title {
	font-family: var(--nb-font-heading);
	font-size: clamp(2rem, 4.5vw, 3rem);
	font-weight: 800;
	letter-spacing: -0.03em;
}

.nb-section--products .nb-section-header--brand {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
}

.nb-section--products .nb-section-header__subtitle {
	grid-column: 1;
}

.nb-section--products .nb-section-header__link {
	grid-row: 1 / span 2;
	align-self: center;
	font-family: var(--nb-font-display);
	font-size: 1.125rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nb-burgundy);
	border-bottom: 2px solid var(--nb-burgundy);
	padding-bottom: 0.15rem;
}

.nb-section--alt {
	background: var(--nb-paper);
	border-block: 1px solid var(--nb-border);
}

/* ── Categories ── */
.nb-category {
	border-radius: var(--nb-radius-md);
	box-shadow: var(--nb-shadow-sm);
}

.nb-category::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: var(--nb-burgundy);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--nb-transition);
	z-index: 2;
}

.nb-category:hover::after {
	transform: scaleX(1);
}

.nb-category__label {
	position: absolute;
	left: 1rem;
	top: 1rem;
	z-index: 1;
	padding: 0.3rem 0.55rem;
	background: var(--nb-burgundy);
	color: var(--nb-cream);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nb-category__title {
	font-family: var(--nb-font-display);
	font-size: clamp(1.5rem, 3vw, 2rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* ── Product cards ── */
.nb-product-card {
	border-top: 3px solid transparent;
}

.nb-product-card:hover {
	border-top-color: var(--nb-burgundy);
	box-shadow: var(--nb-shadow-brand);
}

.nb-product-card__meta {
	color: var(--nb-burgundy);
}

.nb-product-card__price {
	font-family: var(--nb-font-heading);
	font-size: 1.05rem;
}

/* ── Bundle ── */
.nb-bundle__veil {
	background:
		linear-gradient(90deg, rgba(67, 0, 17, 0.88) 0%, rgba(12, 10, 10, 0.5) 100%);
}

.nb-bundle__eyebrow {
	font-family: var(--nb-font-display);
	font-size: 1.125rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nb-cream);
	margin: 0 0 0.5rem;
}

.nb-bundle__title {
	font-family: var(--nb-font-display);
	font-size: clamp(2.5rem, 6vw, 4rem);
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 0.95;
}

/* ── Ranges ── */
.nb-ranges__tab--deliverance.is-active,
.nb-ranges__tab--deliverance:hover {
	background: var(--nb-range-deliverance);
	border-color: var(--nb-range-deliverance);
}

.nb-ranges__tab--kraken.is-active,
.nb-ranges__tab--kraken:hover {
	background: var(--nb-range-kraken);
	border-color: var(--nb-range-kraken);
}

.nb-ranges__tab--reaper.is-active,
.nb-ranges__tab--reaper:hover {
	background: var(--nb-range-reaper);
	border-color: var(--nb-range-reaper);
}

.nb-ranges__panel--deliverance .nb-ranges__eyebrow { color: var(--nb-range-deliverance); }
.nb-ranges__panel--kraken .nb-ranges__eyebrow { color: var(--nb-range-kraken); }
.nb-ranges__panel--reaper .nb-ranges__eyebrow { color: var(--nb-range-reaper); }

.nb-ranges__eyebrow {
	font-family: var(--nb-font-display);
	font-size: 1rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 0.5rem;
}

.nb-ranges__name {
	font-family: var(--nb-font-display);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 0.95;
}

.nb-ranges__panel {
	padding: 1.5rem;
	background: var(--nb-paper);
	border: 1px solid var(--nb-border);
	border-radius: var(--nb-radius-md);
}

/* ── Brand story block ── */
.nb-section--burgundy {
	background: var(--nb-burgundy);
	color: var(--nb-white);
}

.nb-section--burgundy .nb-brand__eyebrow {
	font-family: var(--nb-font-display);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	letter-spacing: 0.1em;
	color: var(--nb-cream);
	margin: 0 0 0.75rem;
}

.nb-section--burgundy .nb-brand__title {
	font-family: var(--nb-font-heading);
	font-size: clamp(2rem, 4vw, 2.75rem);
	color: var(--nb-white);
}

.nb-section--burgundy .nb-brand__text {
	color: rgba(255, 255, 255, 0.88);
	max-width: 38ch;
}

.nb-section--burgundy .nb-brand__media {
	border: 3px solid rgba(245, 234, 177, 0.35);
}

/* ── Captures ── */
.nb-captures__item {
	border: 2px solid var(--nb-border);
	transition: border-color var(--nb-transition);
}

.nb-captures__item:hover {
	border-color: var(--nb-burgundy);
}

/* ── Newsletter ── */
.nb-newsletter {
	background: var(--nb-ink);
	color: var(--nb-white);
}

.nb-newsletter__title {
	font-family: var(--nb-font-display);
	font-size: clamp(2rem, 4vw, 2.75rem);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.nb-newsletter__title::before {
	content: "#";
	color: var(--nb-cream);
}

/* ── Footer CTA ── */
.nb-footer-cta {
	background: var(--nb-cream-soft);
	border-top: 4px solid var(--nb-burgundy);
}

.nb-footer-cta__title {
	font-family: var(--nb-font-display);
	font-size: clamp(2.25rem, 5vw, 3.25rem);
	letter-spacing: 0.03em;
	text-transform: uppercase;
	line-height: 0.95;
}

/* ── Footer ── */
.nb-footer {
	background: var(--nb-ink);
	border-top: 4px solid var(--nb-burgundy);
}

.nb-footer__hashtag {
	font-family: var(--nb-font-display);
	font-size: 1.75rem;
	letter-spacing: 0.1em;
	color: var(--nb-cream);
	margin: 0.65rem 0 0.35rem;
}

.nb-footer__heading::after {
	content: "";
	display: block;
	width: 1.5rem;
	height: 2px;
	background: var(--nb-burgundy);
	margin-top: 0.4rem;
}

/* ── Mega menu brand touch ── */
.nb-mega-card:hover .nb-mega-card__title {
	color: var(--nb-burgundy);
}

.nb-mega-menu {
	border-top: 3px solid var(--nb-burgundy);
}

/* ── Cart accent ── */
.nb-header__cart-count {
	background: var(--nb-burgundy);
	border-radius: 2px;
}
