/*
Theme Name: Nick's Comics Cleveland
Theme URI: https://nickscomicscleveland.local
Author: Nick's Comics Cleveland
Description: Vintage 1950s comic-book storefront theme for WooCommerce — pre-code horror, atomic sci-fi, golden-age heroes. One-off collectibles from the vault beneath Terminal Tower.
Version: 1.0.0
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nicks-comics
Tags: e-commerce, woocommerce
*/

/* ==========================================================================
   1. Design tokens
   ========================================================================== */
:root {
	--nc-ink: #16130e;
	--nc-panel: #201a10;
	--nc-shadow: #3a2c15;
	--nc-hero: #2c2210;
	--nc-border: #4a3e28;
	--nc-yellow: #e9b820;
	--nc-yellow-hi: #f6ce55;
	--nc-red: #c8342a;
	--nc-red-hi: #e04a3a;
	--nc-teal: #2fa39a;
	--nc-cream: #f0e2bd;
	--nc-tan: #b5a67f;
	--nc-tan-light: #d4c49b;
	--nc-tan-dim: #a3946e; /* lightened from the design's #8a7a55 to clear WCAG 4.5:1 on ink/panel */
	--nc-cgc: #005baa;
	--nc-navy: #16223f;
	--nc-font-display: 'Bangers', cursive;
	--nc-font-ui: 'Oswald', sans-serif;
	--nc-font-hand: 'Shantell Sans', cursive;
	--nc-pad-x: clamp(16px, 4vw, 48px);
}

/* ==========================================================================
   2. Base
   ========================================================================== */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--nc-ink);
	font-family: var(--nc-font-ui);
	font-weight: 400;
	font-size: 15px;
	color: var(--nc-cream);
}
a { color: var(--nc-yellow); text-decoration: none; }
a:hover { color: var(--nc-yellow-hi); text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
h1, h2, h3 { font-family: var(--nc-font-display); font-weight: 400; }
input, select, textarea, button { font-family: var(--nc-font-ui); }
.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; width: 1px;
	margin: -1px; overflow: hidden; padding: 0; position: absolute;
	word-wrap: normal !important;
}
.skip-link:focus {
	clip-path: none;
	width: auto;
	height: auto;
	z-index: 100;
	top: 8px;
	left: 8px;
	background: var(--nc-yellow);
	color: var(--nc-ink);
	font: 700 14px var(--nc-font-ui);
	letter-spacing: 1px;
	padding: 10px 16px;
	border: 3px solid var(--nc-ink);
	text-decoration: none;
}
input:focus-visible, select:focus-visible, textarea:focus-visible, button:focus-visible, a:focus-visible, summary:focus-visible {
	outline: 2px solid var(--nc-teal);
	outline-offset: 2px;
}

.nc-wrap { max-width: 1280px; margin: 0 auto; }
.nc-wrap--narrow { max-width: 1180px; }
.nc-section { padding: 70px var(--nc-pad-x) 80px; }

/* Halftone dot overlay */
.nc-halftone { position: relative; }
.nc-halftone::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(#ffffff14 1px, transparent 1.4px);
	background-size: 9px 9px;
}
.nc-halftone > * { position: relative; }

/* ==========================================================================
   3. Type patterns
   ========================================================================== */
.nc-h1 {
	margin: 0;
	font-family: var(--nc-font-display);
	font-size: clamp(34px, 5vw, 48px);
	letter-spacing: 2px;
	line-height: 1.08;
	color: var(--nc-cream);
	text-shadow: 3px 3px 0 var(--nc-shadow);
}
.nc-h2 {
	margin: 0;
	font-family: var(--nc-font-display);
	font-size: clamp(30px, 4.5vw, 42px);
	letter-spacing: 3px;
	color: var(--nc-yellow);
	text-shadow: 3px 3px 0 var(--nc-shadow);
}
.nc-h2--teal { color: var(--nc-teal); }
.nc-h2--red { color: var(--nc-red); }
.nc-kicker { font: 400 15px var(--nc-font-hand); color: var(--nc-tan); }
.nc-label {
	font: 700 13px var(--nc-font-ui);
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--nc-cream);
}
.nc-meta { font: 500 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); }
.nc-fineprint { font: 400 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan-dim); }
.nc-hand { font: 400 15px/1.5 var(--nc-font-hand); color: var(--nc-tan); }
.nc-price { font: 700 22px var(--nc-font-display); letter-spacing: 1px; color: var(--nc-yellow); }

/* ==========================================================================
   4. Buttons
   ========================================================================== */
.nc-btn {
	display: inline-block;
	background: var(--nc-red);
	color: #fff;
	font: 700 18px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 15px 32px;
	border: 3px solid var(--nc-cream);
	box-shadow: 5px 5px 0 var(--nc-yellow);
	text-decoration: none;
	cursor: pointer;
	transition: transform .08s ease, box-shadow .08s ease;
}
.nc-btn:hover {
	transform: translate(-2px, -2px);
	box-shadow: 7px 7px 0 var(--nc-yellow);
	color: #fff;
	text-decoration: none;
}
.nc-btn--sm { font-size: 14px; padding: 9px 18px; border-width: 2px; box-shadow: none; }
.nc-btn--sm:hover { transform: none; box-shadow: none; background: var(--nc-red-hi); }
.nc-btn--outline {
	display: inline-block;
	background: transparent;
	border: 3px solid var(--nc-teal);
	color: var(--nc-teal);
	font: 700 16px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 13px 26px;
	cursor: pointer;
	text-decoration: none;
	transition: background .08s ease, color .08s ease;
}
.nc-btn--outline:hover { background: var(--nc-teal); color: var(--nc-ink); text-decoration: none; }
.nc-btn--chip {
	display: inline-block;
	font: 700 12px var(--nc-font-ui);
	letter-spacing: 1.5px;
	color: var(--nc-teal);
	border: 2px solid var(--nc-teal);
	padding: 6px 12px;
	background: transparent;
	cursor: pointer;
	text-transform: uppercase;
	text-decoration: none;
}
.nc-btn--chip:hover { background: var(--nc-teal); color: var(--nc-ink); text-decoration: none; }
.nc-textlink { font: 700 14px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-teal); text-transform: uppercase; }
.nc-textlink:hover { color: var(--nc-yellow-hi); }

/* ==========================================================================
   5. Cards, chips, badges, narrator boxes
   ========================================================================== */
.nc-card {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	box-shadow: 6px 6px 0 var(--nc-red);
	transition: transform .08s ease, box-shadow .08s ease;
}
.nc-card--teal { box-shadow: 6px 6px 0 var(--nc-teal); }
.nc-card--yellow { box-shadow: 6px 6px 0 var(--nc-yellow); }
.nc-card--lift:hover { transform: translate(-2px, -2px); }
.nc-card--lift.nc-card:hover { box-shadow: 8px 8px 0 var(--nc-red); }
.nc-card--lift.nc-card--teal:hover { box-shadow: 8px 8px 0 var(--nc-teal); }
.nc-card--lift.nc-card--yellow:hover { box-shadow: 8px 8px 0 var(--nc-yellow); }

.nc-chip {
	display: inline-block;
	background: var(--nc-border);
	color: #fff;
	text-align: center;
	padding: 4px 8px;
	border: 2px solid var(--nc-cream);
	font: 700 10px var(--nc-font-ui);
	line-height: 1.2;
}
.nc-chip--cgc { background: var(--nc-cgc); }
.nc-chip--psa { background: var(--nc-red); }
.nc-chip--raw { background: var(--nc-border); }
.nc-chip .nc-chip__grade { font-size: 15px; }

.nc-badge {
	display: inline-block;
	background: var(--nc-red);
	color: #fff;
	font: 700 12px var(--nc-font-display);
	letter-spacing: 1.5px;
	padding: 5px 11px;
	border: 2px solid var(--nc-cream);
	transform: rotate(-4deg);
}
.nc-badge--yellow { background: var(--nc-yellow); color: var(--nc-ink); }

.nc-narrator {
	background: var(--nc-yellow);
	color: var(--nc-ink);
	border: 2.5px solid var(--nc-ink);
	box-shadow: 5px 5px 0 var(--nc-red);
	padding: 16px 20px;
	transform: rotate(-.5deg);
}
.nc-narrator__label { font: 700 12px var(--nc-font-ui); letter-spacing: 2px; margin-bottom: 6px; }
.nc-narrator__body { font: 400 15px/1.55 var(--nc-font-hand); color: #3a2b08; }

.nc-dashed-top { border-top: 2px dashed var(--nc-border); }
.nc-dashed-bottom { border-bottom: 1px dashed var(--nc-border); }

/* ==========================================================================
   6. Announce bar + masthead
   ========================================================================== */
.nc-announce {
	background: var(--nc-yellow);
	color: var(--nc-ink);
	text-align: center;
	padding: 7px 16px;
	font: 600 13px/1 var(--nc-font-ui);
	letter-spacing: 2px;
	text-transform: uppercase;
}
.nc-masthead {
	background: var(--nc-panel);
	border-bottom: 4px solid var(--nc-yellow);
	padding: 0 var(--nc-pad-x);
}
.nc-masthead__row {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
	padding: 14px 0;
}
.nc-logo { display: flex; flex-direction: column; line-height: 1; text-decoration: none; }
.nc-logo:hover { text-decoration: none; }
.nc-logo__title {
	font-family: var(--nc-font-display);
	font-size: 32px;
	letter-spacing: 2px;
	color: var(--nc-red);
	text-shadow: 3px 3px 0 #000, -1px -1px 0 #000;
}
.nc-logo__sub {
	font: 700 11px var(--nc-font-ui);
	letter-spacing: 9px;
	color: var(--nc-cream);
	margin-top: 4px;
}
.nc-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; align-items: center; }
.nc-nav a {
	font: 600 14px var(--nc-font-ui);
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--nc-cream);
}
.nc-nav a:hover { color: var(--nc-yellow); text-decoration: none; }
.nc-nav a.nc-nav--sell { color: var(--nc-teal); }
.nc-nav a.nc-nav--sell:hover { color: var(--nc-yellow); }
.nc-nav a.is-active {
	color: var(--nc-yellow);
	box-shadow: 0 3px 0 var(--nc-yellow);
	padding-bottom: 3px;
}
.nc-shopdd { position: relative; display: flex; align-items: center; }
.nc-shopdd__menu { position: absolute; left: -14px; top: 100%; padding-top: 12px; z-index: 60; display: none; }
.nc-shopdd:hover .nc-shopdd__menu, .nc-shopdd:focus-within .nc-shopdd__menu { display: block; }
.nc-shopdd__panel {
	background: var(--nc-panel);
	border: 3px solid var(--nc-yellow);
	box-shadow: 5px 5px 0 #000;
	min-width: 190px;
	display: flex;
	flex-direction: column;
}
.nc-shopdd__panel a {
	display: block;
	padding: 11px 18px;
	font: 600 13px var(--nc-font-ui);
	letter-spacing: 2px;
	color: var(--nc-cream);
	text-transform: uppercase;
	border-bottom: 1px dashed var(--nc-border);
	white-space: nowrap;
}
.nc-shopdd__panel a:last-child { border-bottom: none; }
.nc-shopdd__panel a:hover { color: var(--nc-yellow); text-decoration: none; }

.nc-head-actions { display: flex; gap: 12px; align-items: center; margin-left: auto; }
.nc-search { display: flex; }
.nc-search input[type="search"] {
	background: transparent;
	border: 2px solid var(--nc-border);
	border-radius: 2px;
	padding: 7px 12px;
	font: 500 12px var(--nc-font-ui);
	color: var(--nc-cream);
	letter-spacing: 1px;
	width: 140px;
}
.nc-search input[type="search"]::placeholder { color: var(--nc-tan); }
.nc-search input[type="search"]:focus { outline: none; border-color: var(--nc-yellow); }
.nc-account-btn {
	border: 2px solid var(--nc-teal);
	color: var(--nc-teal);
	padding: 8px 13px;
	font: 700 12px var(--nc-font-ui);
	letter-spacing: 1px;
	text-decoration: none;
}
.nc-account-btn:hover { background: var(--nc-teal); color: var(--nc-ink); text-decoration: none; }
.nc-cart-btn {
	background: var(--nc-red);
	border: 2px solid var(--nc-ink);
	box-shadow: 3px 3px 0 var(--nc-yellow);
	padding: 9px 16px;
	font: 700 14px var(--nc-font-ui);
	letter-spacing: 1px;
	color: #fff;
	text-decoration: none;
	transition: transform .08s ease, box-shadow .08s ease;
}
.nc-cart-btn:hover {
	transform: translate(-1px, -1px);
	box-shadow: 4px 4px 0 var(--nc-yellow);
	color: #fff;
	text-decoration: none;
}

/* Mobile menu */
.nc-mnav { display: none; position: relative; }
.nc-mnav summary { list-style: none; }
.nc-mnav summary::-webkit-details-marker { display: none; }
.nc-mnav summary {
	cursor: pointer;
	background: var(--nc-shadow);
	border: 2px solid var(--nc-yellow);
	color: var(--nc-yellow);
	font: 700 14px var(--nc-font-ui);
	letter-spacing: 2px;
	padding: 9px 14px;
}
.nc-mnav__panel {
	position: absolute;
	left: 0;
	top: calc(100% + 10px);
	z-index: 50;
	background: var(--nc-panel);
	border: 3px solid var(--nc-yellow);
	box-shadow: 6px 6px 0 var(--nc-ink);
	min-width: 240px;
	display: flex;
	flex-direction: column;
	padding: 8px 0;
}
.nc-mnav__panel a {
	display: block;
	padding: 13px 22px;
	font: 600 15px var(--nc-font-ui);
	letter-spacing: 2px;
	color: var(--nc-cream);
	text-transform: uppercase;
	border-bottom: 1px dashed var(--nc-border);
}
.nc-mnav__panel a:last-child { border-bottom: none; }
.nc-mnav__panel a:hover { color: var(--nc-yellow); text-decoration: none; }
.nc-mnav__panel a.nc-nav--sell { color: var(--nc-teal); }
.nc-mnav__search { padding: 13px 22px; border-bottom: 1px dashed var(--nc-border); }
.nc-mnav__search input[type="search"] { width: 100%; }
@media (max-width: 900px) {
	.nc-mnav { display: block; }
	.nc-nav--desktop { display: none; }
	.nc-search--desktop { display: none; }
}

/* ==========================================================================
   7. Footer
   ========================================================================== */
.nc-footer { background: var(--nc-ink); border-top: 4px solid var(--nc-teal); padding: 56px var(--nc-pad-x) 32px; }
.nc-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 40px;
}
.nc-footer__logo-title {
	font-family: var(--nc-font-display);
	font-size: 24px;
	letter-spacing: 1px;
	color: var(--nc-red);
	text-shadow: 2px 2px 0 #000;
}
.nc-footer__logo-sub { font-family: var(--nc-font-display); font-size: 13px; letter-spacing: 4px; color: var(--nc-teal); margin-top: 4px; }
.nc-footer__blurb { font: 400 13px/1.7 var(--nc-font-hand); color: var(--nc-tan); max-width: 280px; margin: 16px 0 0; }
.nc-footer__col { display: flex; flex-direction: column; gap: 10px; }
.nc-footer__head { font: 700 13px var(--nc-font-ui); letter-spacing: 2.5px; color: var(--nc-cream); margin-bottom: 4px; }
.nc-footer__col a, .nc-footer__trust { font: 400 14px var(--nc-font-ui); color: var(--nc-tan); }
.nc-footer__col a:hover { color: var(--nc-yellow); }
.nc-footer__bar {
	border-top: 2px dashed var(--nc-border);
	margin-top: 44px;
	padding-top: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 18px;
}
.nc-footer__copyright { font: 400 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan-dim); }
.nc-footer__signoff { font: 400 12px var(--nc-font-hand); color: var(--nc-tan-dim); }

/* ==========================================================================
   8. Product card (shared: homepage grid, shop archive, related)
   ========================================================================== */
.nc-pgrid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr));
	gap: 24px;
}
.nc-pcard {
	background: var(--nc-panel);
	border: 2.5px solid var(--nc-border);
	position: relative;
	display: flex;
	flex-direction: column;
}
.nc-pcard:hover { border-color: var(--nc-yellow); }
.nc-pcard__badge { position: absolute; top: -11px; left: -8px; z-index: 2; }
.nc-pcard__imgwrap { padding: 10px 10px 0; }
.nc-pcard__imgwrap a { display: block; }
.nc-pcard__imgwrap img { width: 100%; height: auto; aspect-ratio: 560 / 780; object-fit: cover; }
.nc-pcard__body { padding: 14px 16px 18px; display: flex; flex-direction: column; flex: 1; }
.nc-pcard__toprow { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.nc-pcard__name { font: 600 15px/1.3 var(--nc-font-ui); color: var(--nc-cream); }
.nc-pcard__name a { color: var(--nc-cream); }
.nc-pcard__name a:hover { color: var(--nc-yellow); text-decoration: none; }
.nc-pcard__meta { font: 500 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); margin-top: 4px; text-transform: uppercase; }
.nc-pcard__buyrow { display: flex; justify-content: space-between; align-items: center; margin-top: 14px; gap: 8px; }
.nc-pcard__buyrow { margin-top: auto; padding-top: 14px; }
.nc-pcard__sold {
	display: inline-block;
	font: 700 12px var(--nc-font-ui);
	letter-spacing: 1.5px;
	color: var(--nc-tan-dim);
	border: 2px solid var(--nc-border);
	padding: 6px 12px;
	text-transform: uppercase;
}
.nc-pcard__holdchip { font-size: 10px; padding: 5px 9px; transform: none; }

/* ==========================================================================
   9. Forms (shared field styles)
   ========================================================================== */
.nc-field label { display: block; font: 700 12px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-tan); text-transform: uppercase; margin-bottom: 7px; }
.nc-field input[type="text"],
.nc-field input[type="email"],
.nc-field input[type="tel"],
.nc-field input[type="password"],
.nc-field select,
.nc-field textarea {
	width: 100%;
	background: var(--nc-ink);
	border: 2px solid var(--nc-border);
	color: var(--nc-cream);
	font: 400 15px var(--nc-font-ui);
	padding: 12px 14px;
	border-radius: 0;
}
.nc-field input:focus, .nc-field select:focus, .nc-field textarea:focus { outline: none; border-color: var(--nc-yellow); }
.nc-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 16px; }

.nc-notice {
	background: var(--nc-teal);
	color: var(--nc-ink);
	border: 2.5px solid var(--nc-ink);
	box-shadow: 4px 4px 0 var(--nc-yellow);
	padding: 14px 18px;
	font: 600 14px var(--nc-font-ui);
	letter-spacing: 1px;
	margin: 0 0 20px;
}
.nc-notice--error { background: var(--nc-red); color: #fff; }
.nc-notice a { color: var(--nc-ink); text-decoration: underline; }
.nc-notice ul { margin: 0; padding: 0 0 0 18px; }

/* WooCommerce default notice wrappers, restyled */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: var(--nc-teal);
	color: var(--nc-ink);
	border: 2.5px solid var(--nc-ink);
	box-shadow: 4px 4px 0 var(--nc-yellow);
	padding: 14px 18px;
	font: 600 14px var(--nc-font-ui);
	letter-spacing: .5px;
	list-style: none;
	margin: 0 0 24px;
}
.woocommerce-error { background: var(--nc-red); color: #fff; }
.woocommerce-message a, .woocommerce-info a { color: var(--nc-ink); text-decoration: underline; }
.woocommerce-error a { color: #fff; text-decoration: underline; }
.woocommerce-message .button, .woocommerce-info .button, .woocommerce-error .button {
	float: right;
	background: var(--nc-ink);
	color: var(--nc-yellow);
	padding: 4px 10px;
	font: 700 12px var(--nc-font-ui);
	letter-spacing: 1px;
	text-decoration: none;
	border: none;
}

/* ==========================================================================
   10. Homepage
   ========================================================================== */
.nc-hero {
	background: radial-gradient(circle at 20% 10%, var(--nc-hero) 0%, var(--nc-ink) 55%);
	background-color: var(--nc-ink);
	overflow: hidden;
}
.nc-hero__inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(40px, 6vw, 64px) var(--nc-pad-x) 80px;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}
.nc-hero__caption {
	display: inline-block;
	background: var(--nc-teal);
	color: var(--nc-ink);
	font: 700 15px var(--nc-font-hand);
	padding: 8px 16px;
	border: 2.5px solid var(--nc-ink);
	box-shadow: 4px 4px 0 var(--nc-red);
	transform: rotate(-1.5deg);
	margin-bottom: 26px;
}
.nc-hero__title {
	margin: 0;
	font-family: var(--nc-font-display);
	font-size: clamp(34px, 6vw, 64px);
	line-height: 1.08;
	color: var(--nc-cream);
	text-shadow: 4px 4px 0 var(--nc-red);
}
.nc-hero__title span { color: var(--nc-yellow); }
.nc-hero__body {
	font: 400 19px/1.6 var(--nc-font-hand);
	color: var(--nc-tan-light);
	max-width: 480px;
	margin: 24px 0 34px;
}
.nc-hero__ctas { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; }
.nc-hero__keys-link {
	font: 700 18px var(--nc-font-display);
	letter-spacing: 2px;
	color: var(--nc-yellow);
	padding: 15px 8px;
	text-decoration: underline;
	text-underline-offset: 5px;
}
.nc-hero__keys-link:hover { color: var(--nc-yellow-hi); }
.nc-hero__trust { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 44px; }
.nc-hero__trust > div { display: flex; align-items: center; gap: 9px; }
.nc-hero__trust span:last-child { font: 500 13px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-tan); }
.nc-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex: none; }
.nc-dot--yellow { background: var(--nc-yellow); }
.nc-dot--teal { background: var(--nc-teal); }
.nc-dot--red { background: var(--nc-red); }

.nc-hero__cardwrap { position: relative; justify-self: center; }
.nc-hero__backing {
	position: absolute;
	inset: -14px;
	background: var(--nc-shadow);
	transform: rotate(2.5deg);
	border: 3px solid var(--nc-yellow);
}
.nc-hero__card {
	position: relative;
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	padding: 14px;
	width: min(340px, 86vw);
}
.nc-hero__cardlabel {
	font: 700 12px var(--nc-font-ui);
	letter-spacing: 3px;
	color: var(--nc-teal);
	text-align: center;
	margin-bottom: 10px;
}
.nc-hero__card img { width: 100%; height: auto; aspect-ratio: 560 / 780; object-fit: cover; }
.nc-hero__cardmeta { display: flex; justify-content: space-between; align-items: center; margin-top: 12px; gap: 10px; }
.nc-hero__cardname { font: 700 17px var(--nc-font-ui); color: var(--nc-cream); }
.nc-chip--lg { padding: 7px 12px; font-size: 12px; line-height: 1.25; }
.nc-chip--lg .nc-chip__grade { font-size: 19px; }
.nc-hero__cardbuy {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 12px;
	border-top: 2px dashed var(--nc-border);
	padding-top: 12px;
}
.nc-price--lg { font-size: 26px; }
.nc-hero__jagged {
	position: relative;
	height: 34px;
	background-color: var(--nc-panel);
	clip-path: polygon(0 100%, 0 40%, 4% 0, 8% 55%, 13% 10%, 17% 60%, 22% 5%, 27% 50%, 32% 15%, 37% 65%, 42% 8%, 47% 55%, 52% 12%, 57% 60%, 62% 5%, 67% 52%, 72% 14%, 77% 62%, 82% 8%, 87% 55%, 92% 12%, 96% 58%, 100% 20%, 100% 100%);
	margin-top: -34px;
}

.nc-sechead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; margin-bottom: 36px; }
.nc-sechead--split { justify-content: space-between; margin-bottom: 12px; }
.nc-sechead__sub { margin: 0 0 36px; }

.nc-universe { background: var(--nc-panel); }
.nc-universe__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 28px;
}
.nc-catcard {
	display: block;
	background: var(--nc-ink);
	border: 3px solid var(--nc-cream);
	text-decoration: none;
	transition: transform .08s ease, box-shadow .08s ease;
}
.nc-catcard:hover { text-decoration: none; }
.nc-catcard--red { box-shadow: 7px 7px 0 var(--nc-red); transform: rotate(-.6deg); }
.nc-catcard--yellow { box-shadow: 7px 7px 0 var(--nc-yellow); transform: rotate(.5deg); }
.nc-catcard--teal { box-shadow: 7px 7px 0 var(--nc-teal); transform: rotate(-.4deg); }
.nc-catcard--red:hover { transform: translate(-3px, -3px) rotate(0deg); box-shadow: 10px 10px 0 var(--nc-red); }
.nc-catcard--yellow:hover { transform: translate(-3px, -3px) rotate(0deg); box-shadow: 10px 10px 0 var(--nc-yellow); }
.nc-catcard--teal:hover { transform: translate(-3px, -3px) rotate(0deg); box-shadow: 10px 10px 0 var(--nc-teal); }
.nc-catcard__imgwrap { padding: 12px 14px 0; }
.nc-catcard__imgwrap img { width: 100%; height: auto; aspect-ratio: 800 / 560; object-fit: cover; }
.nc-catcard__body { padding: 16px 18px 20px; }
.nc-catcard__name { font-family: var(--nc-font-display); font-size: 28px; letter-spacing: 2px; }
.nc-catcard--red .nc-catcard__name { color: var(--nc-red); }
.nc-catcard--yellow .nc-catcard__name { color: var(--nc-yellow); }
.nc-catcard--teal .nc-catcard__name { color: var(--nc-teal); }
.nc-catcard__blurb { font: 400 14px/1.5 var(--nc-font-hand); color: var(--nc-tan); margin-top: 6px; }
.nc-catcard__browse { font: 700 13px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-cream); margin-top: 14px; }

.nc-arrivals { background: var(--nc-ink); border-top: 4px solid var(--nc-red); }

.nc-keys { background: var(--nc-navy); border-top: 4px solid var(--nc-yellow); }
.nc-keys::before { background-image: radial-gradient(#ffffff10 1px, transparent 1.4px); background-size: 11px 11px; }
.nc-keys__title { font-size: clamp(24px, 4vw, 36px); text-shadow: 3px 3px 0 var(--nc-ink); margin-bottom: 10px; }
.nc-keys__sub { color: var(--nc-tan-light); margin: 0 0 40px; max-width: 560px; }
.nc-keys__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 28px;
}
.nc-keycard {
	background: var(--nc-ink);
	border: 3px solid var(--nc-cream);
	box-shadow: 6px 6px 0 var(--nc-red);
	display: flex;
	gap: 16px;
	padding: 16px;
}
.nc-keycard__img { flex: none; }
.nc-keycard__img img { width: 120px; height: 170px; object-fit: cover; }
.nc-keycard__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; flex: 1; }
.nc-keycard__chip { align-self: flex-start; padding: 4px 10px; font-size: 12px; letter-spacing: 1px; }
.nc-keycard__name { font: 600 16px/1.3 var(--nc-font-ui); color: var(--nc-cream); }
.nc-keycard__buy {
	margin-top: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 4px 8px;
	padding-top: 6px;
}
.nc-keycard__price { font: 700 24px var(--nc-font-display); color: var(--nc-teal); }
.nc-keycard__price .woocommerce-Price-amount { color: var(--nc-teal); }
.nc-keycard__details { font: 700 12px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-yellow); }

.nc-tour { background: var(--nc-panel); border-top: 4px solid var(--nc-yellow); }
.nc-tour__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 24px;
}
.nc-stub {
	background: var(--nc-ink);
	border: 3px solid var(--nc-cream);
	box-shadow: 6px 6px 0 var(--nc-teal);
	display: flex;
	position: relative;
}
.nc-stub__badge { position: absolute; top: -11px; right: 12px; transform: rotate(3deg); z-index: 2; }
.nc-stub__date {
	flex: none;
	background: var(--nc-yellow);
	color: var(--nc-ink);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 16px 14px;
	border-right: 3px dashed var(--nc-ink);
	min-width: 76px;
}
.nc-stub__month { font: 700 13px var(--nc-font-ui); letter-spacing: 2px; }
.nc-stub__days { font-family: var(--nc-font-display); font-size: 30px; line-height: 1; }
.nc-stub__year { font: 600 12px var(--nc-font-ui); letter-spacing: 1px; margin-top: 2px; }
.nc-stub__body { padding: 16px 18px; display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.nc-stub__name { font: 600 17px/1.25 var(--nc-font-ui); color: var(--nc-cream); }
.nc-stub__city { font: 500 13px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-teal); }
.nc-stub__venue { font: 400 13px var(--nc-font-ui); color: var(--nc-tan); }
.nc-stub__venue span { color: var(--nc-yellow); font-weight: 600; }

.nc-dispatch { background: var(--nc-yellow); padding: 64px var(--nc-pad-x); position: relative; }
.nc-dispatch::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(#16130e20 1.4px, transparent 1.8px);
	background-size: 10px 10px;
}
.nc-dispatch__inner { position: relative; max-width: 900px; margin: 0 auto; text-align: center; }
.nc-dispatch__title { margin: 0; font-family: var(--nc-font-display); font-size: clamp(24px, 4vw, 34px); color: var(--nc-ink); }
.nc-dispatch__body { font: 400 17px/1.6 var(--nc-font-hand); color: #3a2b08; margin: 16px auto 30px; max-width: 560px; }
.nc-dispatch__form { display: flex; flex-wrap: wrap; gap: 10px 0; justify-content: center; max-width: 520px; margin: 0 auto; }
.nc-dispatch__form input[type="email"] {
	flex: 1 1 220px;
	background: #fffdf2;
	border: 3px solid var(--nc-ink);
	padding: 14px 18px;
	font: 400 15px var(--nc-font-ui);
	color: var(--nc-ink);
	border-radius: 0;
}
.nc-dispatch__form input[type="email"]::placeholder { color: #8a8470; }
.nc-dispatch__form button {
	background: var(--nc-red);
	color: #fff;
	border: 3px solid var(--nc-ink);
	border-left: none;
	padding: 14px 26px;
	font: 700 17px var(--nc-font-display);
	letter-spacing: 2px;
	cursor: pointer;
}
.nc-dispatch__form button:hover { background: var(--nc-red-hi); }
.nc-dispatch__done {
	display: inline-block;
	background: var(--nc-ink);
	color: var(--nc-yellow);
	font: 700 17px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 14px 26px;
	border: 3px solid var(--nc-red);
}
.nc-dispatch__error {
	display: inline-block;
	background: var(--nc-red);
	color: #fff;
	font: 700 15px var(--nc-font-display);
	letter-spacing: 1px;
	padding: 12px 22px;
	border: 3px solid var(--nc-ink);
	margin-bottom: 18px;
}
.nc-dispatch__fine { font: 500 12px var(--nc-font-ui); letter-spacing: 1.5px; color: #3a2b08; margin-top: 14px; }

/* ==========================================================================
   11. Shop archive
   ========================================================================== */
.nc-shopband { background: var(--nc-panel); border-bottom: 4px solid var(--nc-teal); padding: 36px var(--nc-pad-x); }
.nc-crumbs { font: 500 12px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-tan); margin-bottom: 10px; text-transform: uppercase; }
.nc-crumbs a { color: var(--nc-tan); }
.nc-crumbs a:hover { color: var(--nc-yellow); text-decoration: none; }
.nc-crumbs span { color: var(--nc-yellow); }
.nc-shopband__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 18px; }
.nc-shopband__title { letter-spacing: 3px; color: var(--nc-yellow); }
.nc-shopband__desc { margin-top: 14px; max-width: 68ch; color: var(--nc-tan-light); font: 400 15px/1.6 var(--nc-font-ui); }
.nc-shopband__count { font: 500 14px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); text-transform: uppercase; }

.nc-shoplayout { background: var(--nc-ink); padding: 48px var(--nc-pad-x) 80px; }
.nc-shoplayout__inner { display: flex; flex-wrap: wrap; gap: 40px; }
.nc-filters { flex: 1 1 220px; max-width: 280px; display: flex; flex-direction: column; gap: 28px; align-self: flex-start; }
.nc-filters__group { border: 2.5px solid var(--nc-border); background: var(--nc-panel); padding: 18px 20px; }
.nc-filters__group + .nc-filters__group { margin-top: 28px; }
.nc-filters__title { font-family: var(--nc-font-display); font-size: 19px; letter-spacing: 2px; color: var(--nc-teal); margin-bottom: 12px; }
.nc-filters__opts { display: flex; flex-direction: column; gap: 9px; }
.nc-filters__opt { display: flex; align-items: center; gap: 10px; cursor: pointer; }
.nc-filters__opt input { position: absolute; opacity: 0; pointer-events: none; }
.nc-filters__box { width: 15px; height: 15px; border: 2px solid var(--nc-yellow); background: transparent; flex: none; display: inline-block; }
.nc-filters__opt input:checked + .nc-filters__box { background: var(--nc-yellow); }
.nc-filters__opt input:focus-visible + .nc-filters__box { outline: 2px solid var(--nc-teal); outline-offset: 2px; }
.nc-filters__label { font: 400 14px var(--nc-font-ui); color: var(--nc-cream); }
.nc-filters__opt:hover .nc-filters__label { color: var(--nc-yellow); }
.nc-filters__count { font: 400 12px var(--nc-font-ui); color: var(--nc-tan-dim); margin-left: auto; }
.nc-filters__clear { font: 700 13px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-red); }
.nc-filters__clear:hover { color: var(--nc-red-hi); text-decoration: none; }

.nc-shopmain { flex: 999 1 320px; min-width: 0; }
.nc-shoptools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 24px; }
.nc-shoptools__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.nc-fchip {
	background: var(--nc-shadow);
	border: 2px solid var(--nc-teal);
	color: var(--nc-teal);
	font: 600 12px var(--nc-font-ui);
	letter-spacing: 1px;
	padding: 6px 12px;
}
.nc-fchip:hover { color: var(--nc-yellow); border-color: var(--nc-yellow); text-decoration: none; }
.nc-sort select {
	background: var(--nc-ink);
	border: 2px solid var(--nc-border);
	padding: 8px 14px;
	font: 500 13px var(--nc-font-ui);
	letter-spacing: 1px;
	color: var(--nc-tan);
	cursor: pointer;
	border-radius: 0;
	text-transform: uppercase;
}

.nc-pagination { display: flex; justify-content: center; gap: 12px; margin-top: 48px; flex-wrap: wrap; }
.nc-pagination .page-numbers {
	border: 2px solid var(--nc-border);
	color: var(--nc-cream);
	font: 600 15px var(--nc-font-ui);
	padding: 9px 16px;
	text-decoration: none;
}
.nc-pagination .page-numbers:hover { border-color: var(--nc-yellow); color: var(--nc-yellow); }
.nc-pagination .page-numbers.current { background: var(--nc-yellow); color: var(--nc-ink); border: 2px solid var(--nc-cream); }
.nc-shopempty { text-align: center; padding: 60px 0; display: flex; flex-direction: column; gap: 20px; align-items: center; }

/* ==========================================================================
   12. Single product
   ========================================================================== */
.nc-product { background: var(--nc-ink); padding: 40px var(--nc-pad-x) 72px; }
.nc-product__crumbs { margin-bottom: 28px; }
.nc-product__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	gap: clamp(32px, 5vw, 64px);
	align-items: start;
}
.nc-pimages__mainwrap { position: relative; }
.nc-pimages__backing {
	position: absolute;
	inset: -12px;
	background: var(--nc-shadow);
	transform: rotate(1.6deg);
	border: 3px solid var(--nc-yellow);
}
.nc-pimages__frame { position: relative; background: var(--nc-panel); border: 3px solid var(--nc-cream); padding: 14px; }
.nc-pimages__frame img { width: 100%; height: auto; aspect-ratio: 560 / 780; object-fit: cover; }
.nc-pimages__thumbs { display: flex; gap: 14px; margin-top: 26px; }
.nc-pimages__thumb {
	flex: 1;
	border: 3px solid var(--nc-border);
	padding: 3px;
	background: var(--nc-panel);
	cursor: pointer;
	min-width: 0;
}
.nc-pimages__thumb.is-active { border-color: var(--nc-yellow); }
.nc-pimages__thumb img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
.nc-pimages__caption { font: 400 13px var(--nc-font-hand); color: var(--nc-tan); margin-top: 14px; text-align: center; }

.nc-pdetails { display: flex; flex-direction: column; }
.nc-pdetails__banner { align-self: flex-start; font-size: 13px; letter-spacing: 2px; padding: 6px 14px; transform: rotate(-2deg); margin-bottom: 18px; }
.nc-pdetails__title { margin: 0; font: 700 clamp(28px, 3.5vw, 38px)/1.2 var(--nc-font-ui); color: var(--nc-cream); }
.nc-pdetails__title span { color: var(--nc-tan); font-weight: 400; }
.nc-pdetails__metaline { font: 500 14px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-teal); margin-top: 8px; text-transform: uppercase; }
.nc-pdetails__graderow { display: flex; align-items: center; gap: 18px; margin-top: 22px; flex-wrap: wrap; }
.nc-chip--xl { padding: 10px 16px; border-width: 3px; font-size: 13px; line-height: 1.25; }
.nc-chip--xl .nc-chip__grade { font-size: 26px; }
.nc-pdetails__gradename { font: 600 15px var(--nc-font-ui); color: var(--nc-cream); }
.nc-pdetails__gradesub { font: 400 13px var(--nc-font-ui); color: var(--nc-tan); }
.nc-pdetails__pricerow { display: flex; align-items: baseline; gap: 14px; margin-top: 26px; }
.nc-pdetails__price, .nc-pdetails__price .woocommerce-Price-amount { font: 700 44px var(--nc-font-display); color: var(--nc-yellow); letter-spacing: 1px; }
.nc-pdetails__shipnote { font: 400 14px var(--nc-font-ui); color: var(--nc-tan); }
.nc-pdetails__buyrow { display: flex; gap: 16px; margin-top: 24px; flex-wrap: wrap; }
.nc-pdetails__cartform { flex: 1 1 220px; display: flex; }
.nc-pdetails__addbtn {
	flex: 1;
	background: var(--nc-red);
	color: #fff;
	text-align: center;
	font: 700 20px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 16px 32px;
	border: 3px solid var(--nc-cream);
	box-shadow: 5px 5px 0 var(--nc-yellow);
	cursor: pointer;
	transition: transform .08s ease, box-shadow .08s ease;
}
.nc-pdetails__addbtn:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--nc-yellow); }
.nc-pdetails__watch {
	flex: none;
	background: transparent;
	border: 3px solid var(--nc-teal);
	color: var(--nc-teal);
	font: 700 16px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 16px 22px;
	cursor: pointer;
}
.nc-pdetails__watch:hover, .nc-pdetails__watch.is-watching { background: var(--nc-teal); color: var(--nc-ink); text-decoration: none; }
.nc-pdetails__watchform { flex: 1 1 220px; display: flex; align-items: flex-end; gap: 10px; }
.nc-pdetails__watchform .nc-field { flex: 1; margin: 0; }
.nc-pdetails__watchnotice { flex: 1 1 220px; margin: 0; }
.nc-pdetails__soldout { margin-top: 24px; }
.nc-pdetails__soldout .nc-badge { font-size: 15px; padding: 10px 18px; }
.nc-pdetails__buyrow--held .nc-badge { font-size: 15px; padding: 10px 18px; }
.nc-pdetails__holdreassure { margin-top: 10px; color: var(--nc-tan); }
.nc-pdetails__holdcapture { margin-top: 18px; max-width: 480px; }
.nc-pdetails__holdform { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.nc-pdetails__holdform .nc-field { flex: 1 1 220px; }
.nc-pdetails__paynote { font: 500 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); margin-top: 14px; }
.nc-pdetails__notes { margin-top: 32px; box-shadow: 5px 5px 0 var(--nc-shadow); }

.nc-fineprint-table { border: 2.5px solid var(--nc-border); margin-top: 32px; }
.nc-fineprint-table__head {
	background: var(--nc-panel);
	padding: 12px 18px;
	font-family: var(--nc-font-display);
	font-size: 19px;
	letter-spacing: 2px;
	color: var(--nc-teal);
	border-bottom: 2.5px solid var(--nc-border);
}
.nc-fineprint-table__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 18px;
	border-bottom: 1px dashed var(--nc-border);
}
.nc-fineprint-table__row:last-child { border-bottom: none; }
.nc-fineprint-table__k { font: 500 13px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); }
.nc-fineprint-table__v { font: 600 14px var(--nc-font-ui); color: var(--nc-cream); text-align: right; }

.nc-trusttiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; margin-top: 24px; }
.nc-trusttiles__tile {
	border: 2px solid var(--nc-border);
	padding: 12px 14px;
	font: 500 12px/1.5 var(--nc-font-ui);
	letter-spacing: 1px;
	color: var(--nc-tan);
}
.nc-trusttiles__tile span { color: var(--nc-yellow); font-weight: 700; }

.nc-related { background: var(--nc-panel); padding: 56px var(--nc-pad-x) 72px; border-top: 4px solid var(--nc-yellow); }
.nc-related__title { font-size: clamp(28px, 4vw, 38px); margin-bottom: 32px; }

/* ==========================================================================
   13. Cart + checkout
   ========================================================================== */
.nc-wcpage { padding: clamp(32px, 5vw, 56px) var(--nc-pad-x) 80px; background: var(--nc-ink); }
.nc-cartpage__title, .nc-checkoutpage__title { color: var(--nc-yellow); letter-spacing: 3px; margin: 0 0 8px; }
.nc-cartpage__sub, .nc-checkoutpage__sub { margin: 0 0 36px; }
.nc-cartpage__cols, .nc-checkoutpage__cols { display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 48px); align-items: flex-start; }
.nc-cartpage__items { flex: 999 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }

.nc-cartline {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	padding: 16px;
	position: relative;
}
.nc-cartline--red { box-shadow: 5px 5px 0 var(--nc-red); }
.nc-cartline--teal { box-shadow: 5px 5px 0 var(--nc-teal); }
.nc-cartline--yellow { box-shadow: 5px 5px 0 var(--nc-yellow); }
.nc-cartline__badge { position: absolute; top: -10px; left: -8px; font-size: 11px; padding: 4px 10px; }
.nc-cartline__img { flex: none; }
.nc-cartline__img img { width: 86px; height: 120px; object-fit: cover; border: 2px solid var(--nc-border); }
.nc-cartline__info { flex: 1 1 200px; display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.nc-cartline__name { font: 600 17px/1.25 var(--nc-font-ui); }
.nc-cartline__name a { color: var(--nc-cream); }
.nc-cartline__name a:hover { color: var(--nc-yellow); text-decoration: none; }
.nc-cartline__meta { font: 500 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); text-transform: uppercase; }
.nc-cartline__chip { align-self: flex-start; padding: 3px 9px; font-size: 11px; letter-spacing: 1px; margin-top: 4px; }
.nc-cartline__right { flex: none; display: flex; flex-direction: column; justify-content: space-between; align-items: flex-end; gap: 8px; margin-left: auto; }
.nc-cartline__price, .nc-cartline__price .woocommerce-Price-amount { font: 700 24px var(--nc-font-display); color: var(--nc-yellow); letter-spacing: 1px; }
.nc-cartline__remove { font: 600 12px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-red); }
.nc-cartline__remove:hover { color: var(--nc-red-hi); text-decoration: none; }

.nc-damage { flex: 1 1 280px; max-width: 380px; position: sticky; top: 24px; }
.nc-damage__card { background: var(--nc-panel); border: 3px solid var(--nc-cream); box-shadow: 6px 6px 0 var(--nc-yellow); padding: 24px; }
.nc-damage__title { font-family: var(--nc-font-display); font-size: 22px; letter-spacing: 2px; color: var(--nc-yellow); margin-bottom: 16px; }
.nc-damage__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px dashed var(--nc-border);
	font: 400 14px var(--nc-font-ui);
	color: var(--nc-tan);
}
.nc-damage__row span:last-child { font-weight: 600; color: var(--nc-cream); }
.nc-damage__free { color: var(--nc-teal) !important; }
.nc-damage__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; }
.nc-damage__total span:first-child { font: 700 15px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-cream); }
.nc-damage__amount, .nc-damage__amount .woocommerce-Price-amount { font: 700 34px var(--nc-font-display); color: var(--nc-yellow); letter-spacing: 1px; }
.nc-damage__holdnote {
	border: 2px dashed var(--nc-teal);
	padding: 12px 14px;
	margin-top: 16px;
	font: 400 13px/1.5 var(--nc-font-hand);
	color: var(--nc-teal);
}
.nc-damage__checkout { display: block; text-align: center; margin-top: 18px; }
.nc-damage__continue { text-align: center; margin-top: 18px; }
.nc-damage__continue a { font: 700 13px var(--nc-font-ui); letter-spacing: 2px; }
.nc-cartempty { text-align: center; padding: 40px 0 20px; display: flex; flex-direction: column; gap: 22px; align-items: center; }

/* Checkout card */
.nc-checkoutcard {
	flex: 999 1 380px;
	min-width: 0;
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	box-shadow: 8px 8px 0 var(--nc-teal);
	padding: clamp(20px, 4vw, 32px);
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.nc-checkoutcard__step { font: 700 13px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-yellow); margin-bottom: 12px; }
.nc-checkoutcard__paynote { font: 400 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan-dim); margin-top: 10px; }
.nc-checkoutcard__paynote strong { color: var(--nc-tan); }

/* WC checkout form internals, restyled to the design */
.nc-checkoutcard .woocommerce-billing-fields h3,
.nc-checkoutcard .woocommerce-shipping-fields h3,
.nc-checkoutcard .woocommerce-additional-fields h3 { display: none; }
.nc-checkoutcard .form-row { margin: 0 0 14px; padding: 0; display: block; }
.nc-checkoutcard .form-row label {
	display: block;
	font: 700 11px var(--nc-font-ui);
	letter-spacing: 1.5px;
	color: var(--nc-tan);
	text-transform: uppercase;
	margin-bottom: 5px;
}
.nc-checkoutcard .form-row .woocommerce-input-wrapper { display: block; }
.nc-checkoutcard .form-row input.input-text,
.nc-checkoutcard .form-row select,
.nc-checkoutcard .form-row textarea {
	width: 100%;
	background: var(--nc-ink);
	border: 2px solid var(--nc-border);
	color: var(--nc-cream);
	font: 400 14px var(--nc-font-ui);
	padding: 12px 14px;
	border-radius: 0;
	box-sizing: border-box;
}
.nc-checkoutcard .form-row input.input-text:focus,
.nc-checkoutcard .form-row select:focus,
.nc-checkoutcard .form-row textarea:focus { outline: none; border-color: var(--nc-yellow); }
.nc-checkoutcard .select2-container--default .select2-selection--single {
	background: var(--nc-ink);
	border: 2px solid var(--nc-border);
	border-radius: 0;
	height: auto;
	padding: 8px 10px;
}
.nc-checkoutcard .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--nc-cream); }
.nc-checkoutcard #billing_first_name_field, .nc-checkoutcard #billing_last_name_field,
.nc-checkoutcard #billing_city_field, .nc-checkoutcard #billing_state_field, .nc-checkoutcard #billing_postcode_field {
	display: inline-block;
	width: calc(50% - 8px);
	vertical-align: top;
}
.nc-checkoutcard #billing_first_name_field, .nc-checkoutcard #billing_city_field { margin-right: 12px; }

/* Payment box */
.nc-checkoutcard #payment { background: transparent; border-radius: 0; }
.nc-checkoutcard #payment ul.payment_methods { list-style: none; margin: 0 0 16px; padding: 0 0 16px; border-bottom: 1px dashed var(--nc-border); }
.nc-checkoutcard #payment ul.payment_methods li { margin: 0 0 10px; }
.nc-checkoutcard #payment ul.payment_methods label { font: 600 14px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-cream); cursor: pointer; }
.nc-checkoutcard #payment div.payment_box {
	background: var(--nc-ink);
	border: 2px dashed var(--nc-border);
	color: var(--nc-tan);
	font: 400 13px/1.5 var(--nc-font-ui);
	padding: 12px 14px;
	margin: 10px 0 0;
}
.nc-checkoutcard #payment div.payment_box::before { display: none; }
.nc-checkoutcard .woocommerce-terms-and-conditions-wrapper { margin-bottom: 14px; }
.nc-checkoutcard #place_order {
	width: 100%;
	background: var(--nc-red);
	color: #fff;
	text-align: center;
	font: 700 20px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 16px 32px;
	border: 3px solid var(--nc-cream);
	box-shadow: 5px 5px 0 var(--nc-yellow);
	cursor: pointer;
	transition: transform .08s ease, box-shadow .08s ease;
	border-radius: 0;
}
.nc-checkoutcard #place_order:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--nc-yellow); }

/* Order review table inside THE DAMAGE */
.nc-damage table.shop_table { width: 100%; border: none; border-collapse: collapse; font: 400 14px var(--nc-font-ui); color: var(--nc-tan); }
.nc-damage table.shop_table th, .nc-damage table.shop_table td {
	text-align: left;
	padding: 8px 0;
	border-bottom: 1px dashed var(--nc-border);
	background: transparent;
	border-top: none;
}
.nc-damage table.shop_table td:last-child, .nc-damage table.shop_table th:last-child { text-align: right; }
.nc-damage table.shop_table .woocommerce-Price-amount { color: var(--nc-cream); font-weight: 600; }
.nc-damage table.shop_table tr.order-total th { font: 700 15px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-cream); border-bottom: none; padding-top: 16px; }
.nc-damage table.shop_table tr.order-total td { border-bottom: none; padding-top: 16px; }
.nc-damage table.shop_table tr.order-total .woocommerce-Price-amount { font: 700 30px var(--nc-font-display); color: var(--nc-yellow); letter-spacing: 1px; }

/* ==========================================================================
   14. My Account
   ========================================================================== */
.nc-account__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 18px; margin-bottom: 8px; }
.nc-account__title { color: var(--nc-yellow); letter-spacing: 3px; }
.nc-account__howdy { font: 500 14px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); }
.nc-account__howdy span { color: var(--nc-cream); font-weight: 600; }
.nc-account__howdy a { color: var(--nc-red); }
.nc-account__howdy a:hover { color: var(--nc-red-hi); }
.nc-account__sub { margin: 0 0 36px; }
.nc-account__cols { display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 44px); align-items: flex-start; }
.nc-account__rail {
	flex: 1 1 200px;
	max-width: 250px;
	display: flex;
	flex-direction: column;
	border: 3px solid var(--nc-cream);
	box-shadow: 6px 6px 0 var(--nc-teal);
	background: var(--nc-panel);
}
.nc-account__tab {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 15px 18px;
	font: 600 14px var(--nc-font-ui);
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--nc-cream);
	border-bottom: 2px dashed var(--nc-border);
}
.nc-account__tab:last-child { border-bottom: none; }
.nc-account__tab:hover { color: var(--nc-yellow); text-decoration: none; }
.nc-account__tab.is-active { background: var(--nc-yellow); color: var(--nc-ink); }
.nc-account__tab.is-active:hover { color: var(--nc-ink); }
.nc-account__marker { font-family: var(--nc-font-display); }
.nc-account__tab--help { color: var(--nc-tan); }
.nc-account__panel { flex: 999 1 340px; min-width: 0; }
.nc-account__panel-title {
	margin: 0 0 22px;
	font-family: var(--nc-font-display);
	font-size: 28px;
	letter-spacing: 2px;
	color: var(--nc-teal);
	text-shadow: 2px 2px 0 #000;
}

/* Order rows */
.nc-orders { display: flex; flex-direction: column; gap: 18px; }
.nc-orderrow {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
	padding: 16px 20px;
}
.nc-orderrow--teal { box-shadow: 5px 5px 0 var(--nc-teal); }
.nc-orderrow--red { box-shadow: 5px 5px 0 var(--nc-red); }
.nc-orderrow--yellow { box-shadow: 5px 5px 0 var(--nc-yellow); }
.nc-orderrow__num { font-family: var(--nc-font-display); font-size: 19px; letter-spacing: 1px; color: var(--nc-yellow); }
.nc-orderrow__date { font: 500 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); }
.nc-orderrow__items { flex: 1 1 200px; min-width: 0; }
.nc-orderrow__names { font: 600 15px/1.35 var(--nc-font-ui); color: var(--nc-cream); }
.nc-orderrow__count { font: 400 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); margin-top: 2px; }
.nc-stamp {
	flex: none;
	border: 2px solid var(--nc-cream);
	font: 700 11px var(--nc-font-ui);
	letter-spacing: 1.5px;
	padding: 5px 10px;
}
.nc-stamp--shipped { background: var(--nc-teal); color: var(--nc-ink); }
.nc-stamp--delivered { background: var(--nc-yellow); color: var(--nc-ink); }
.nc-stamp--other { background: var(--nc-border); color: var(--nc-cream); }
.nc-orderrow__total, .nc-orderrow__total .woocommerce-Price-amount { font: 700 20px var(--nc-font-display); color: var(--nc-yellow); letter-spacing: 1px; }
.nc-orderrow__view { flex: none; font: 700 12px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-teal); }
.nc-orders__pager { display: flex; gap: 12px; margin-top: 24px; }

/* Preference cards */
.nc-prefs { display: flex; flex-direction: column; gap: 16px; max-width: 640px; }
.nc-prefcard {
	background: var(--nc-panel);
	border: 3px solid var(--nc-border);
	box-shadow: 4px 4px 0 #000;
	padding: 18px 20px;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	cursor: pointer;
}
.nc-prefcard:hover { border-color: var(--nc-yellow); }
.nc-prefcard.is-on { border-color: var(--nc-teal); }
.nc-prefcard input { position: absolute; opacity: 0; pointer-events: none; }
.nc-prefcard__box {
	flex: none;
	width: 22px;
	height: 22px;
	border: 3px solid var(--nc-yellow);
	display: flex;
	align-items: center;
	justify-content: center;
	font: 700 14px var(--nc-font-ui);
	color: var(--nc-ink);
	margin-top: 2px;
}
.nc-prefcard.is-on .nc-prefcard__box { background: var(--nc-yellow); }
.nc-prefcard__text { min-width: 0; display: block; }
.nc-prefcard__title { display: block; font: 600 16px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-cream); text-transform: uppercase; }
.nc-prefcard__body { display: block; font: 400 14px/1.55 var(--nc-font-hand); color: var(--nc-tan); margin-top: 4px; }
.nc-prefs__save, .nc-account__panel .button, .nc-account__panel button[type="submit"] {
	align-self: flex-start;
	background: var(--nc-red);
	color: #fff;
	font: 700 16px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 12px 26px;
	border: 3px solid var(--nc-cream);
	box-shadow: 4px 4px 0 var(--nc-yellow);
	cursor: pointer;
	transition: transform .08s ease, box-shadow .08s ease;
	border-radius: 0;
}
.nc-prefs__save:hover, .nc-account__panel .button:hover, .nc-account__panel button[type="submit"]:hover {
	transform: translate(-2px, -2px);
	box-shadow: 6px 6px 0 var(--nc-yellow);
	color: #fff;
}

/* Addresses (default WC markup, restyled) */
.nc-account__panel .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 22px; width: 100%; }
.nc-account__panel .woocommerce-Address, .nc-account__panel .col-1, .nc-account__panel .col-2 {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	padding: 22px;
	width: auto;
	max-width: none;
	float: none;
}
.nc-account__panel .col-1 { box-shadow: 5px 5px 0 var(--nc-red); }
.nc-account__panel .col-2 { box-shadow: 5px 5px 0 var(--nc-yellow); }
.nc-account__panel .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.nc-account__panel .woocommerce-Address-title h2 {
	margin: 0;
	font-family: var(--nc-font-display);
	font-size: 19px;
	letter-spacing: 2px;
	color: var(--nc-yellow);
	font-weight: 400;
}
.nc-account__panel .woocommerce-Address-title .edit { font: 700 12px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-teal); }
.nc-account__panel .woocommerce-Address address { font: 400 15px/1.7 var(--nc-font-ui); color: var(--nc-cream); margin-top: 12px; font-style: normal; }

/* Account forms (edit account / edit address / login) */
.nc-account__panel .form-row label, .nc-loginwrap .form-row label {
	display: block;
	font: 700 12px var(--nc-font-ui);
	letter-spacing: 2px;
	color: var(--nc-teal);
	text-transform: uppercase;
	margin-bottom: 7px;
}
.nc-account__panel .form-row, .nc-loginwrap .form-row { margin: 0 0 18px; padding: 0; }
.nc-account__panel .form-row input.input-text, .nc-account__panel .form-row select,
.nc-loginwrap .form-row input.input-text {
	width: 100%;
	background: var(--nc-ink);
	border: 2px solid var(--nc-border);
	color: var(--nc-cream);
	font: 400 14px var(--nc-font-ui);
	padding: 12px 14px;
	border-radius: 0;
	box-sizing: border-box;
}
.nc-account__panel .form-row input.input-text:focus, .nc-loginwrap .form-row input.input-text:focus { outline: none; border-color: var(--nc-yellow); }
.nc-account__panel fieldset { border: 2px dashed var(--nc-border); padding: 18px; margin: 8px 0 18px; }
.nc-account__panel fieldset legend { font: 700 13px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-yellow); padding: 0 8px; text-transform: uppercase; }
.nc-account__panel .woocommerce-EditAccountForm, .nc-account__panel .woocommerce-address-fields {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	box-shadow: 6px 6px 0 var(--nc-red);
	padding: clamp(20px, 4vw, 32px);
	max-width: 640px;
}

/* Login / register (logged-out my-account) */
.nc-loginwrap h2 { font-family: var(--nc-font-display); font-size: 28px; letter-spacing: 2px; color: var(--nc-teal); text-shadow: 2px 2px 0 #000; }
.nc-loginwrap .woocommerce-form-login, .nc-loginwrap .woocommerce-form-register {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	box-shadow: 6px 6px 0 var(--nc-teal);
	padding: clamp(20px, 4vw, 32px);
	max-width: 520px;
	margin-top: 8px;
}
.nc-loginwrap .woocommerce-form-login__rememberme { display: block; margin-bottom: 14px; font: 400 14px var(--nc-font-ui); color: var(--nc-tan); }
.nc-loginwrap .woocommerce-LostPassword a { font: 600 13px var(--nc-font-ui); letter-spacing: 1px; }
.nc-loginwrap .button, .nc-loginwrap button[type="submit"] {
	background: var(--nc-red);
	color: #fff;
	font: 700 16px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 12px 26px;
	border: 3px solid var(--nc-cream);
	box-shadow: 4px 4px 0 var(--nc-yellow);
	cursor: pointer;
	border-radius: 0;
}

/* ==========================================================================
   15. View order
   ========================================================================== */
.nc-vieworder__crumbs { margin-bottom: 24px; }
.nc-vieworder__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 24px; margin-bottom: 10px; }
.nc-vieworder__title { color: var(--nc-yellow); letter-spacing: 3px; }
.nc-orderstamp {
	border: 3px solid var(--nc-cream);
	font: 700 14px var(--nc-font-ui);
	letter-spacing: 2px;
	padding: 8px 16px;
	transform: rotate(-2deg);
	box-shadow: 4px 4px 0 #000;
}
.nc-orderstamp--shipped { background: var(--nc-teal); color: var(--nc-ink); }
.nc-orderstamp--delivered { background: var(--nc-yellow); color: var(--nc-ink); }
.nc-orderstamp--working { background: var(--nc-border); color: var(--nc-cream); }
.nc-vieworder__placed { margin: 0 0 32px; }

.nc-journey {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	box-shadow: 6px 6px 0 var(--nc-teal);
	padding: clamp(18px, 3vw, 28px);
	margin-bottom: 36px;
}
.nc-journey__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 18px; margin-bottom: 18px; }
.nc-journey__title { font-family: var(--nc-font-display); font-size: 21px; letter-spacing: 2px; color: var(--nc-teal); }
.nc-journey__carrier { font: 500 13px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); text-transform: uppercase; }
.nc-journey__steps { display: flex; flex-wrap: wrap; align-items: stretch; }
.nc-journey__step { flex: 1 1 140px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 6px 8px; }
.nc-journey__track { width: 100%; display: flex; align-items: center; }
.nc-journey__line { flex: 1; height: 3px; background: var(--nc-border); }
.nc-journey__line.is-done { background: var(--nc-teal); }
.nc-journey__line.is-first, .nc-journey__line.is-last { background: transparent; }
.nc-journey__dot {
	flex: none;
	width: 26px;
	height: 26px;
	border: 3px solid var(--nc-border);
	background: var(--nc-panel);
	display: flex;
	align-items: center;
	justify-content: center;
	font: 700 13px var(--nc-font-ui);
	color: var(--nc-ink);
	border-radius: 50%;
}
.nc-journey__step.is-done .nc-journey__dot { border-color: var(--nc-teal); background: var(--nc-teal); }
.nc-journey__label { font: 700 12px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-tan-dim); text-transform: uppercase; }
.nc-journey__step.is-done .nc-journey__label { color: var(--nc-cream); }
.nc-journey__when { font: 400 12px var(--nc-font-ui); color: var(--nc-tan-dim); }

.nc-vieworder__cols { display: flex; flex-wrap: wrap; gap: clamp(24px, 4vw, 40px); align-items: flex-start; }
.nc-vieworder__main { flex: 999 1 360px; min-width: 0; }
.nc-vieworder__lines { display: flex; flex-direction: column; gap: 16px; }
.nc-ordertotals {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	box-shadow: 5px 5px 0 var(--nc-yellow);
	padding: 22px;
	margin-top: 24px;
	max-width: 420px;
	margin-left: auto;
}
.nc-ordertotals__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px dashed var(--nc-border);
	font: 400 14px var(--nc-font-ui);
	color: var(--nc-tan);
}
.nc-ordertotals__row span:last-child { font-weight: 600; color: var(--nc-cream); }
.nc-ordertotals__grand { display: flex; justify-content: space-between; align-items: baseline; padding-top: 14px; }
.nc-ordertotals__grand span:first-child { font: 700 14px var(--nc-font-ui); letter-spacing: 2px; color: var(--nc-cream); }
.nc-ordertotals__amount, .nc-ordertotals__amount .woocommerce-Price-amount { font: 700 30px var(--nc-font-display); color: var(--nc-yellow); letter-spacing: 1px; }
.nc-ordertotals__paid { font: 400 12px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan-dim); margin-top: 8px; }

.nc-vieworder__side { flex: 1 1 260px; max-width: 340px; display: flex; flex-direction: column; gap: 20px; }
.nc-sidecard { background: var(--nc-panel); border: 3px solid var(--nc-cream); padding: 20px; }
.nc-sidecard--red { box-shadow: 5px 5px 0 var(--nc-red); }
.nc-sidecard--teal { box-shadow: 5px 5px 0 var(--nc-teal); }
.nc-sidecard__title { font-family: var(--nc-font-display); font-size: 18px; letter-spacing: 2px; color: var(--nc-yellow); margin-bottom: 10px; }
.nc-sidecard__body, .nc-sidecard__body address { font: 400 14px/1.7 var(--nc-font-ui); color: var(--nc-cream); font-style: normal; }
.nc-sidecard__note { font: 400 13px var(--nc-font-hand); color: var(--nc-tan); margin-top: 10px; }
.nc-vieworder__actions { display: flex; flex-direction: column; gap: 12px; }
.nc-vieworder__track { text-align: center; font-size: 16px; padding: 13px 24px; }
.nc-vieworder__invoice { text-align: center; font-size: 14px; }
.nc-vieworder__question { text-align: center; font: 700 13px var(--nc-font-ui); letter-spacing: 1.5px; padding: 6px; }
.nc-vieworder__nicksays { box-shadow: 4px 4px 0 var(--nc-shadow); }

/* Thank-you page */
.nc-thankyou { padding: 20px 0 40px; max-width: 640px; }
.nc-thankyou__stamp { transform: rotate(-2deg); font-size: 14px; margin-bottom: 20px; }
.nc-thankyou__title { color: var(--nc-yellow); }
.nc-thankyou__sub { margin: 18px 0 30px; font-size: 16px; }
.nc-thankyou__totals { margin-left: 0; margin-top: 0; }
.nc-thankyou__actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }

/* ==========================================================================
   16. Events page
   ========================================================================== */
.nc-eventshero { background: radial-gradient(circle at 30% 0%, var(--nc-hero) 0%, var(--nc-ink) 60%); overflow: hidden; }
.nc-eventshero__inner { position: relative; max-width: 1280px; margin: 0 auto; padding: clamp(48px, 7vw, 80px) var(--nc-pad-x); text-align: center; }
.nc-eventshero .nc-hero__caption { margin-bottom: 24px; transform: rotate(-1.5deg); }
.nc-eventshero__title {
	margin: 0;
	font-family: var(--nc-font-display);
	font-size: clamp(36px, 6vw, 60px);
	line-height: 1.1;
	color: var(--nc-cream);
	text-shadow: 4px 4px 0 var(--nc-red);
}
.nc-eventshero__title span { color: var(--nc-yellow); }
.nc-eventshero__body { font: 400 18px/1.6 var(--nc-font-hand); color: var(--nc-tan-light); max-width: 560px; margin: 22px auto 0; }

.nc-tourdates { background: var(--nc-ink); border-top: 4px solid var(--nc-teal); padding: 64px var(--nc-pad-x) 80px; }
.nc-tourdates__title { margin-bottom: 36px; }
.nc-tourdates__list { display: flex; flex-direction: column; gap: 22px; }
.nc-tourcard {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	position: relative;
}
.nc-tourcard--red { box-shadow: 6px 6px 0 var(--nc-red); }
.nc-tourcard--teal { box-shadow: 6px 6px 0 var(--nc-teal); }
.nc-tourcard--yellow { box-shadow: 6px 6px 0 var(--nc-yellow); }
.nc-tourcard__badge { position: absolute; top: -11px; right: 12px; transform: rotate(3deg); z-index: 2; }
.nc-tourcard__date { padding: 18px 20px; min-width: 96px; }
.nc-tourcard__date .nc-stub__days { font-size: 36px; }
.nc-tourcard__body { flex: 1 1 300px; padding: 18px 22px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nc-tourcard__name { font: 600 20px/1.25 var(--nc-font-ui); color: var(--nc-cream); }
.nc-tourcard__city { font: 500 14px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-teal); }
.nc-tourcard__note { font: 400 14px/1.5 var(--nc-font-hand); color: var(--nc-tan); }
.nc-tourcard__side {
	flex: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	padding: 18px 22px;
	border-left: 2px dashed var(--nc-border);
}
.nc-tourcard__venue { font: 400 13px var(--nc-font-ui); color: var(--nc-tan); }
.nc-tourcard__booth {
	align-self: flex-start;
	background: var(--nc-shadow);
	border: 2px solid var(--nc-yellow);
	color: var(--nc-yellow);
	font: 700 13px var(--nc-font-ui);
	letter-spacing: 1.5px;
	padding: 6px 12px;
}
.nc-tourcard__info { font: 700 13px var(--nc-font-ui); letter-spacing: 1.5px; color: var(--nc-teal); }

.nc-boothsec { background: var(--nc-panel); border-top: 4px solid var(--nc-red); padding: 64px var(--nc-pad-x); }
.nc-boothsec__title { font-size: clamp(28px, 4vw, 38px); margin-bottom: 36px; }
.nc-boothsec__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 24px; }
.nc-boothtile { background: var(--nc-ink); border: 2.5px solid var(--nc-border); padding: 22px 24px; }
.nc-boothtile:hover { border-color: var(--nc-yellow); }
.nc-boothtile__title { font-family: var(--nc-font-display); font-size: 24px; letter-spacing: 2px; }
.nc-boothtile__body { font: 400 14px/1.6 var(--nc-font-hand); color: var(--nc-tan); margin: 10px 0 0; }

.nc-promoter { background: var(--nc-yellow); padding: 56px var(--nc-pad-x); position: relative; }
.nc-promoter::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background-image: radial-gradient(#16130e20 1.4px, transparent 1.8px);
	background-size: 10px 10px;
}
.nc-promoter__inner { position: relative; max-width: 820px; margin: 0 auto; text-align: center; }
.nc-promoter__title { margin: 0; font-family: var(--nc-font-display); font-size: clamp(24px, 4vw, 32px); color: var(--nc-ink); }
.nc-promoter__body { font: 400 17px/1.6 var(--nc-font-hand); color: #3a2b08; margin: 14px auto 26px; max-width: 520px; }
.nc-promoter__cta {
	display: inline-block;
	background: var(--nc-red);
	color: #fff;
	font: 700 18px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 15px 32px;
	border: 3px solid var(--nc-ink);
	box-shadow: 5px 5px 0 var(--nc-ink);
	transition: transform .08s ease, box-shadow .08s ease;
}
.nc-promoter__cta:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--nc-ink); color: #fff; text-decoration: none; }

/* ==========================================================================
   17. Sell to Us / About / Contact
   ========================================================================== */
.nc-sellhero { background: radial-gradient(circle at 70% 0%, var(--nc-hero) 0%, var(--nc-ink) 60%); overflow: hidden; }
.nc-sellhero__caption {
	display: inline-block;
	background: var(--nc-red);
	color: #fff;
	font: 700 15px var(--nc-font-hand);
	padding: 8px 16px;
	border: 2.5px solid var(--nc-cream);
	box-shadow: 4px 4px 0 var(--nc-teal);
	transform: rotate(-1.5deg);
	margin-bottom: 24px;
}
.nc-hunting { background: var(--nc-ink); border-top: 4px solid var(--nc-teal); padding: 64px var(--nc-pad-x); }
.nc-hunting__title { margin-bottom: 36px; }
.nc-hunting__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 24px; }
.nc-boothtile__title { font-size: 22px; }

.nc-howworks { background: var(--nc-panel); border-top: 4px solid var(--nc-red); padding: 64px var(--nc-pad-x); }
.nc-howworks__title { font-size: clamp(28px, 4vw, 38px); margin-bottom: 36px; }
.nc-howworks__grid, .nc-credo__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 24px; }
.nc-stepcard { background: var(--nc-ink); border: 3px solid var(--nc-cream); padding: 24px; }
.nc-stepcard--red { box-shadow: 6px 6px 0 var(--nc-red); }
.nc-stepcard--teal { box-shadow: 6px 6px 0 var(--nc-teal); }
.nc-stepcard--yellow { box-shadow: 6px 6px 0 var(--nc-yellow); }
.nc-stepcard__n { font-family: var(--nc-font-display); font-size: 40px; line-height: 1; }
.nc-stepcard--red .nc-stepcard__n { color: var(--nc-red); }
.nc-stepcard--teal .nc-stepcard__n { color: var(--nc-teal); }
.nc-stepcard--yellow .nc-stepcard__n { color: var(--nc-yellow); }
.nc-stepcard__title { font: 700 17px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-cream); margin-top: 10px; text-transform: uppercase; }
.nc-stepcard__body { font: 400 14px/1.6 var(--nc-font-hand); color: var(--nc-tan); margin: 8px 0 0; }

.nc-sellform { background: var(--nc-ink); border-top: 4px solid var(--nc-yellow); padding: 64px var(--nc-pad-x) 80px; }
.nc-sellform__title { font-size: clamp(28px, 4vw, 38px); margin-bottom: 10px; }
.nc-sellform__sub { margin: 0 0 32px; display: block; }
.nc-formcard {
	background: var(--nc-panel);
	border: 3px solid var(--nc-cream);
	padding: clamp(20px, 4vw, 36px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.nc-formcard--teal { box-shadow: 8px 8px 0 var(--nc-teal); }
.nc-formcard--yellow { box-shadow: 8px 8px 0 var(--nc-yellow); }
.nc-formcard .nc-field label { color: var(--nc-teal); }
.nc-dropzone {
	display: block;
	border: 2px dashed var(--nc-yellow);
	background: var(--nc-ink);
	padding: 26px;
	text-align: center;
	cursor: pointer;
}
.nc-dropzone:hover { background: var(--nc-shadow); }
.nc-dropzone input[type="file"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nc-dropzone__label { font: 500 14px var(--nc-font-ui); letter-spacing: 1px; color: var(--nc-tan); }
.nc-dropzone__list { display: block; font: 400 12px var(--nc-font-ui); color: var(--nc-teal); margin-top: 8px; word-break: break-word; }
.nc-sellform__submit, .nc-contact__submit { align-self: flex-start; }
.nc-sellform__events { font: 400 13px var(--nc-font-hand); color: var(--nc-tan-dim); margin-top: 18px; text-align: center; }

/* About */
.nc-abouthero { background: radial-gradient(circle at 20% 10%, var(--nc-hero) 0%, var(--nc-ink) 55%); overflow: hidden; }
.nc-abouthero__inner {
	position: relative;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(48px, 7vw, 72px) var(--nc-pad-x);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}
.nc-abouthero__caption {
	display: inline-block;
	background: var(--nc-yellow);
	color: var(--nc-ink);
	font: 700 15px var(--nc-font-hand);
	padding: 8px 16px;
	border: 2.5px solid var(--nc-ink);
	box-shadow: 4px 4px 0 var(--nc-red);
	transform: rotate(-1.5deg);
	margin-bottom: 24px;
}
.nc-abouthero__story { font: 400 17px/1.7 var(--nc-font-hand); color: var(--nc-tan-light); margin: 16px 0 0; }
.nc-abouthero__story:first-of-type { margin-top: 24px; }
.nc-abouthero__photowrap { position: relative; justify-self: center; }
.nc-abouthero__backing { position: absolute; inset: -12px; background: var(--nc-shadow); transform: rotate(2deg); border: 3px solid var(--nc-yellow); }
.nc-abouthero__frame { position: relative; background: var(--nc-panel); border: 3px solid var(--nc-cream); padding: 14px; width: min(340px, 86vw); }
.nc-abouthero__slot {
	aspect-ratio: 4 / 5;
	border: 2px dashed var(--nc-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font: 700 13px var(--nc-font-ui);
	letter-spacing: 2px;
	color: var(--nc-tan-dim);
	text-align: center;
	padding: 20px;
}
.nc-abouthero__caption2 { font: 400 14px var(--nc-font-hand); color: var(--nc-tan); text-align: center; margin-top: 12px; }
.nc-credo { background: var(--nc-panel); border-top: 4px solid var(--nc-teal); padding: 64px var(--nc-pad-x); }
.nc-credo__title { font-size: clamp(28px, 4vw, 38px); margin-bottom: 36px; }
.nc-credo .nc-stepcard__title { margin-top: 0; font-family: var(--nc-font-display); font-size: 22px; letter-spacing: 2px; font-weight: 400; }
.nc-whycle { background: var(--nc-ink); border-top: 4px solid var(--nc-red); padding: 64px var(--nc-pad-x); }
.nc-whycle__inner { max-width: 900px; margin: 0 auto; text-align: center; }
.nc-whycle__title { font-size: clamp(26px, 4vw, 36px); letter-spacing: 2px; }
.nc-whycle__body { font: 400 17px/1.7 var(--nc-font-hand); color: var(--nc-tan-light); margin: 20px auto 0; max-width: 640px; }
.nc-whycle__ctas { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; margin-top: 32px; }
.nc-whycle__tour {
	background: var(--nc-red);
	color: #fff;
	font: 700 17px var(--nc-font-display);
	letter-spacing: 2px;
	padding: 14px 28px;
	border: 3px solid var(--nc-cream);
	box-shadow: 5px 5px 0 var(--nc-teal);
	transition: transform .08s ease, box-shadow .08s ease;
}
.nc-whycle__tour:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 var(--nc-teal); color: #fff; text-decoration: none; }
.nc-whycle__browse {
	font: 700 17px var(--nc-font-display);
	letter-spacing: 2px;
	color: var(--nc-teal);
	padding: 14px 8px;
	text-decoration: underline;
	text-underline-offset: 5px;
}

/* Contact */
.nc-contact { background: var(--nc-ink); padding: clamp(40px, 6vw, 64px) var(--nc-pad-x) 80px; }
.nc-contact__head { text-align: center; margin-bottom: 48px; }
.nc-contact__title {
	margin: 0;
	font-family: var(--nc-font-display);
	font-size: clamp(34px, 5.5vw, 52px);
	color: var(--nc-cream);
	text-shadow: 4px 4px 0 var(--nc-red);
	letter-spacing: 2px;
}
.nc-contact__title span { color: var(--nc-yellow); }
.nc-contact__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: clamp(28px, 4vw, 48px);
	align-items: start;
}
.nc-contact__info { display: flex; flex-direction: column; gap: 22px; }
.nc-infocard { background: var(--nc-panel); border: 2.5px solid var(--nc-border); padding: 20px 22px; }
.nc-infocard:hover { border-color: var(--nc-yellow); }
.nc-infocard__title { font-family: var(--nc-font-display); font-size: 20px; letter-spacing: 2px; }
.nc-infocard__body { font: 400 15px/1.6 var(--nc-font-hand); color: var(--nc-tan-light); margin-top: 8px; }
.nc-contact__meanwhile { box-shadow: 5px 5px 0 var(--nc-shadow); }
.nc-contact__meanwhile a { color: var(--nc-ink); font-weight: 700; text-decoration: underline; }

/* Breadcrumb band */
.nc-breadcrumbs {
	background: var(--nc-panel);
	border-bottom: 2px dashed var(--nc-border);
	padding: 12px var(--nc-pad-x);
	font: 500 12px var(--nc-font-ui);
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--nc-tan-dim);
}
.nc-breadcrumbs a { color: var(--nc-tan); }
.nc-breadcrumbs a:hover { color: var(--nc-yellow); }
