/* NovelNutt: one look for Books, Deals, ARC library, Book clubs, Community and Author pages. */
body.nn-hub {
	--nn-a: #2E7562;
	--nn-a-dark: #245c4d;
	--nn-a-tint: #e8f2ef;
	--nn-gold: #b8860b;
	--nn-ink: #1d1b22;
	--nn-soft: #6b6874;
	--nn-line: #e9e6ef;
	--nn-bg: #faf9fc;
	--nn-radius: 16px;
	background: var(--nn-bg);
}

/* ---------- Page header + section menu ---------- */
.nnhub { max-width: 1180px; margin: 0 auto; padding: 22px 16px 4px; box-sizing: border-box; color: var(--nn-ink); }
.nnhub *, .nnhub *::before, .nnhub *::after { box-sizing: border-box; }
.nnhub-head { margin: 6px 0 16px; }
.nnhub-kicker { display: block; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--nn-a); font-weight: 700; }
.nnhub .nnhub-title { font-size: clamp(30px, 4.4vw, 44px); line-height: 1.12; margin: 6px 0 8px; padding: 0; color: var(--nn-ink); text-align: left; }
.nnhub-sub { margin: 0; color: var(--nn-soft); font-size: 16px; line-height: 1.55; max-width: 680px; }
.nnhub-nav { display: flex; gap: 8px; overflow-x: auto; padding: 2px 0 14px; margin: 0 0 18px; border-bottom: 1px solid var(--nn-line); scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nnhub-nav::-webkit-scrollbar { display: none; }
.nnhub-nav a { flex: 0 0 auto; padding: 8px 16px; border-radius: 999px; border: 1px solid var(--nn-line); background: #fff; color: var(--nn-ink) !important; text-decoration: none !important; font-size: 14px; font-weight: 600; line-height: 1.2; white-space: nowrap; transition: border-color .15s, background .15s; }
.nnhub-nav a:hover { border-color: var(--nn-a); }
.nnhub-nav a.is-active { background: var(--nn-a); border-color: var(--nn-a); color: #fff !important; }

/* The theme's large page title is replaced by the header above. */
body.nn-hub--arcs .PageHeader, body.nn-hub--deals .PageHeader { display: none !important; }
body.nn-hub--arcs .MAIN-CONTENT, body.nn-hub--deals .MAIN-CONTENT { padding-top: 0 !important; }
/* Author pages, clubs and community sit snug under the menu. */
body.nn-hub .nncm { padding-top: 0; }
body.nn-hub--clubs .nnhub, body.nn-hub--authors .nnhub { padding-bottom: 0; }

/* ---------- Cards ---------- */
body.nn-hub .nn-card,
body.nn-hub .nnc-card,
body.nn-hub .nncm-card,
body.nn-hub .nnar-arc-hero {
	background: #fff;
	border: 1px solid var(--nn-line);
	border-radius: var(--nn-radius);
	box-shadow: 0 1px 2px rgba(29, 27, 34, .04);
}
body.nn-hub .nn-arc-card { overflow: hidden; transition: box-shadow .2s, transform .2s; }
body.nn-hub .nn-arc-card:hover,
body.nn-hub a.nnc-card:hover { box-shadow: 0 10px 28px rgba(29, 27, 34, .10); }
body.nn-hub .nn-cover img, body.nn-hub .nnc-card-cover img { border-radius: 10px; }
body.nn-hub .nn-by a, body.nn-hub a.nn-person { color: var(--nn-a) !important; font-weight: 600; text-decoration: none !important; }
body.nn-hub .nn-by a:hover, body.nn-hub a.nn-person:hover { text-decoration: underline !important; }

/* ---------- Buttons ---------- */
body.nn-hub .nn-btn,
body.nn-hub .nnc-btn,
body.nn-hub .nncm-btn,
body.nn-hub .nnap-btn--solid,
body.nn-hub .nnar-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	background: var(--nn-a) !important; border: 1px solid var(--nn-a) !important; color: #fff !important;
	border-radius: 999px !important; padding: 10px 20px; font-size: 14.5px; font-weight: 600; line-height: 1.2;
	text-transform: none !important; letter-spacing: normal !important; text-decoration: none !important; cursor: pointer;
	box-shadow: none; transition: background .15s, border-color .15s;
}
body.nn-hub .nn-btn:hover,
body.nn-hub .nnc-btn:hover,
body.nn-hub .nncm-btn:hover,
body.nn-hub .nnap-btn--solid:hover,
body.nn-hub .nnar-btn:hover { background: var(--nn-a-dark) !important; border-color: var(--nn-a-dark) !important; }
body.nn-hub .nn-btn-small, body.nn-hub .nncm-btn--s { padding: 7px 14px; font-size: 13.5px; }
body.nn-hub .nn-btn-ghost,
body.nn-hub .nnc-btn--ghost,
body.nn-hub .nncm-btn--ghost,
body.nn-hub .nnar-btn--ghost {
	background: #fff !important; color: var(--nn-a) !important; border-color: var(--nn-a) !important;
}
body.nn-hub .nn-btn-ghost:hover,
body.nn-hub .nnc-btn--ghost:hover,
body.nn-hub .nncm-btn--ghost:hover,
body.nn-hub .nnar-btn--ghost:hover { background: var(--nn-a-tint) !important; }

/* ---------- Fields ---------- */
body.nn-hub .nnc input[type=search], body.nn-hub .nnc input[type=text], body.nn-hub .nncm textarea, body.nn-hub .nn-arc input[type=text], body.nn-hub .nn-arc textarea {
	border: 1px solid var(--nn-line); border-radius: 12px; background: #fff;
}

/* ---------- Section headings inside hub pages ---------- */
body.nn-hub .nnc-h2, body.nn-hub .nncm-h2, body.nn-hub .nn-section { color: var(--nn-ink); }

@media (max-width: 600px) {
	.nnhub { padding-top: 14px; }
	.nnhub-sub { font-size: 15px; }
}
