/*!
Theme Name: nFuze
Theme URI: https://www.kadencewp.com/kadence-theme/
Template: kadence
Author: Kadence WP
Author URI: https://www.kadencewp.com/
Description: A child theme for the Kadence Theme.
Version: 1.0.0
License: GNU General Public License v3.0 (or later)
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kadence-child
*/

/* Neptune design tokens — mirrors the Claude Design system.
   Colors map onto the Kadence global palette (palette1–15); extras below.
   2026-10 rebrand: ink #1B1515, gold #836A37, sea serpent #3E4B54, red #852810 (primary buttons). */
:root {
	--nep-ink-950: #0E0B0B;
	--nep-ink-900: #141010;
	--nep-ink-800: #1B1515;
	--nep-ink-700: #353638;
	--nep-ink-600: #403F41;
	--nep-brass-200: #D4C29A;
	--nep-brass-300: #BFA56E;
	--nep-brass-400: #A68B52;
	--nep-brass-500: #836A37;
	--nep-brass-600: #5E4C27;
	--nep-bone-50: #F7F4EE;
	--nep-bone-100: #F1EDE5;
	--nep-bone-200: #E6DFD3;
	--nep-bone-300: #D3CABB;
	--nep-tide-800: #2C363D;
	--nep-tide-700: #3E4B54;
	--nep-red-400: #A0361B;
	--nep-red-500: #852810;
	--nep-red-600: #6A1F0C;
	--nep-border-subtle: rgba(230, 223, 211, .10);
	--nep-border-default: rgba(230, 223, 211, .18);
	--nep-rule-dash: repeating-linear-gradient(90deg, var(--nep-brass-500) 0 14px, transparent 14px 22px);
	--nep-scrim-bottom: linear-gradient(180deg, rgba(27, 21, 21, 0) 35%, rgba(27, 21, 21, .85) 100%);
	--nep-ease-tide: cubic-bezier(.22, .61, .36, 1);
	--nep-font-display: 'Stint Ultra Expanded', 'Rockwell Extra Bold', 'Clarendon', serif;
	--nep-font-body: 'Didact Gothic', 'Century Gothic', 'Avant Garde', sans-serif;
	--nep-font-jp: 'Noto Sans JP', 'Hiragino Sans', 'Yu Gothic', sans-serif;
}

::selection {
	background: var(--nep-brass-500);
	color: var(--nep-ink-800);
}

a {
	transition: color 140ms var(--nep-ease-tide);
}

/* Stint ships one weight; the design uses synthetic bold for the heavier media-kit headers. */
h1, h2, h3, h4, h5, h6,
.kb-button,
.button,
.wp-block-button__link {
	font-synthesis: weight;
}

/* Eyebrow — small uppercase label above section headings. Add class "nep-eyebrow" to an Advanced Text block. */
.nep-eyebrow {
	font-family: var(--nep-font-body) !important;
	font-size: 11px !important;
	line-height: 1 !important;
	letter-spacing: .18em !important;
	text-transform: uppercase;
	color: var(--global-palette5);
}

/* Japanese accent line under headings. Add class "nep-jp". */
.nep-jp {
	font-family: var(--nep-font-jp) !important;
	font-weight: 300 !important;
	letter-spacing: .12em !important;
	color: var(--global-palette1);
}

/* Signature dashed brass rule under section headings — spans the heading text width.
   Add class "nep-rule" (centered) or "nep-rule nep-rule-left" to an Advanced Heading. */
.nep-rule {
	display: table;
	margin-left: auto !important;
	margin-right: auto !important;
}
.nep-rule.nep-rule-left {
	margin-left: 0 !important;
}
.nep-rule::after {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	margin-top: 12px;
	background: var(--nep-rule-dash);
}

/* Illustrations — line art tinted via mask, like the design's <Illustration>. */
.nep-illo {
	position: relative;
	overflow: hidden;
}
.nep-illo > .kt-row-column-wrap {
	position: relative;
	z-index: 1;
}
.nep-illo::before,
.nep-illo::after {
	content: "";
	position: absolute;
	pointer-events: none;
	background: var(--nep-illo-color, var(--nep-tide-700));
	-webkit-mask: var(--nep-illo-img) center / contain no-repeat;
	mask: var(--nep-illo-img) center / contain no-repeat;
}
.nep-illo-fish-mermaid::before {
	--nep-illo-img: url(/wp-content/uploads/2026/09/neptune-illustrations-fish.webp);
	width: 470px; height: 460px; left: -80px; top: 60px;
}
.nep-illo-fish-mermaid::after {
	--nep-illo-img: url(/wp-content/uploads/2026/09/neptune-illustrations-mermaid.webp);
	width: 520px; height: 520px; right: -60px; top: 20px;
}
.nep-illo-waves::after {
	--nep-illo-img: url(/wp-content/uploads/2026/09/neptune-illustrations-waves.webp);
	--nep-illo-color: var(--nep-ink-700);
	width: 360px; height: 120px; right: -20px; bottom: -10px;
}
.nep-illo-octopus::after {
	--nep-illo-img: url(/wp-content/uploads/2026/09/neptune-illustrations-octopus.webp);
	--nep-illo-color: var(--nep-ink-700);
	width: 420px; height: 420px; right: -80px; bottom: -60px;
}
@media (max-width: 767px) {
	.nep-illo::before,
	.nep-illo::after {
		opacity: .5;
		transform: scale(.6);
	}
}
/* Standalone tinted illustration (e.g. trident) on an empty Kadence column with class nep-mark */
.nep-mark-trident {
	width: 120px;
	height: 120px;
	margin: 0 auto;
	background: var(--nep-brass-600);
	-webkit-mask: url(/wp-content/uploads/2026/09/neptune-illustrations-trident.webp) center / contain no-repeat;
	mask: url(/wp-content/uploads/2026/09/neptune-illustrations-trident.webp) center / contain no-repeat;
}

/* Menu item — name over muted description (design <MenuItem>). */
.nep-item-name {
	letter-spacing: -.01em;
}
/* Menu price, inline after the item name (Menu page). */
.nep-price {
	margin-left: .45em;
	color: var(--nep-brass-300);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

/* Photo scrim for hero rows (Kadence row gradient overlay covers most cases). */
.nep-scrim {
	position: relative;
}

/* Hand-cut, rectilinear inputs for SureForms. */
.srfm-form-container input,
.srfm-form-container select,
.srfm-form-container textarea {
	border-radius: 2px !important;
}

/* Footer: design uses a wider brand column (1.3fr) before four link columns. */
@media (min-width: 1025px) {
	.site-middle-footer-inner-wrap.site-footer-row-columns-5 {
		grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr));
	}
}

/* ---------- Eventin — event list on brand ---------- */
.guten-event-blocks .etn-event-item {
	background: var(--global-palette7);
	border: 1px solid var(--nep-border-subtle);
	border-radius: 0;
	box-shadow: none;
	overflow: hidden;
}
.guten-event-blocks .etn-event-thumb img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	border-radius: 0;
}
.guten-event-blocks .etn-event-category span {
	background: var(--nep-ink-800);
	color: var(--nep-brass-300);
	border: 1px solid var(--nep-brass-500);
	border-radius: 2px;
	font-family: var(--nep-font-body);
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.guten-event-blocks .etn-event-content {
	padding: 22px 24px 24px;
}
.guten-event-blocks .etn-title,
.guten-event-blocks .etn-title a {
	font-family: var(--nep-font-display);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--nep-bone-50);
}
.guten-event-blocks .etn-title a:hover {
	color: var(--nep-brass-300);
}
.guten-event-blocks .etn-event-date,
.guten-event-blocks .etn-event-date span {
	color: var(--global-palette5);
	font-size: 13px;
}
.guten-event-blocks .etn-event-date .etn-icon {
	color: var(--nep-brass-400);
}
.guten-event-blocks .etn-btn.etn-btn-border,
.etn-btn.etn-btn-border {
	color: var(--nep-brass-300);
	border: 1px solid var(--nep-brass-500);
	background: transparent;
	border-radius: 2px;
	font-family: var(--nep-font-display);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.guten-event-blocks .etn-btn.etn-btn-border:hover,
.etn-btn.etn-btn-border:hover {
	background: rgba(131, 106, 55, .14);
	color: var(--nep-brass-200);
	border-color: var(--nep-brass-300);
}

/* ---------- WPCafe floating mini cart — brass, and only where ordering happens ---------- */
body:not(.page-id-109):not(.woocommerce-page) .wpc_cart_block.wpc-minicart-wrapper {
	display: none !important;
}

/* ---------- SureForms on dark ---------- */
.nep-center-form .srfm-submit-container,
.nep-center-form .srfm-submit-wrap {
	justify-content: center;
	text-align: center;
}
.srfm-form-container .srfm-input-common,
.srfm-form-container input[type="email"],
.srfm-form-container input[type="text"],
.srfm-form-container textarea,
.srfm-form-container select {
	background: var(--nep-ink-900) !important;
	border-color: var(--nep-border-default) !important;
	color: var(--nep-bone-50) !important;
}
.srfm-form-container label,
.srfm-form-container .srfm-block-label {
	font-family: var(--nep-font-body);
	font-size: 11px !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--global-palette5) !important;
}

/* ---------- Kadence Posts cards — flat, bare like design Card tone="bare" ---------- */
.kt-blocks-post-grid-item {
	background: transparent !important;
	box-shadow: none !important;
}
.kt-blocks-post-grid-item .kt-blocks-post-grid-item-inner {
	padding: 16px 0 0 !important;
}
.kt-blocks-post-grid-item .entry-title a {
	color: var(--nep-brass-300);
}

/* Horizontal rules used on ink-900 bands */
.nep-bordered-y {
	border-top: 1px solid var(--nep-border-subtle);
	border-bottom: 1px solid var(--nep-border-subtle);
}
.nep-divided {
	border-bottom: 1px solid var(--nep-border-subtle);
}

/* Footer link lists — text only, no icon gutter */
.nep-footer-links .kt-svg-icon-list-single {
	display: none !important;
}
.nep-footer-links .kt-svg-icon-list-item-wrap a {
	color: var(--global-palette5);
}
.nep-footer-links .kt-svg-icon-list-item-wrap a:hover {
	color: var(--global-palette10);
}

/* Eventin buttons — beat plugin specificity */
.etn-event-item .etn-atend-btn .etn-btn.etn-btn-border,
.etn-event-item .etn-btn.etn-btn-border {
	color: var(--nep-brass-300) !important;
	border-color: var(--nep-brass-500) !important;
	background: transparent !important;
	padding: 8px 14px !important;
}
.etn-event-item .etn-atend-btn .etn-btn.etn-btn-border:hover {
	color: var(--nep-brass-200) !important;
	border-color: var(--nep-brass-300) !important;
	background: rgba(131, 106, 55, .14) !important;
}

/* Kadence Posts / archive loop cards — bare, like design Card tone="bare" */
.kb-posts .loop-entry,
.content-bg.loop-entry,
body .loop-entry {
	background: transparent !important;
	box-shadow: none !important;
}
.kb-posts .loop-entry .entry-content-wrap,
body .loop-entry .entry-content-wrap {
	padding: 16px 0 0 !important;
}

/* Menu page illustrations: octopus right, waves bottom-left, tide tint */
.nep-illo-menu::before {
	--nep-illo-img: url(/wp-content/uploads/2026/09/neptune-illustrations-waves.webp);
	--nep-illo-color: var(--nep-tide-700);
	width: 660px; height: 220px; left: -40px; bottom: 40px;
}
.nep-illo-menu::after {
	--nep-illo-img: url(/wp-content/uploads/2026/09/neptune-illustrations-octopus.webp);
	--nep-illo-color: var(--nep-tide-700);
	width: 540px; height: 520px; right: -120px; top: 260px;
}
/* Menu jump links read like the design's tabs */
.nep-illo-menu .kb-button.kb-btn-global-outline {
	border-bottom: 1px solid transparent !important;
}
.nep-illo-menu .kb-button.kb-btn-global-outline:hover {
	border-bottom-color: var(--nep-brass-500) !important;
}
html {
	scroll-behavior: smooth;
	scroll-padding-top: 96px;
}

/* ---------- Reservations: photo column scrim (design: bottom-up ink) ---------- */
.nep-reserve .wp-block-kadence-column:first-child > .kt-inside-inner-col {
	position: relative;
}
.nep-reserve .wp-block-kadence-column:first-child::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--nep-scrim-bottom);
	pointer-events: none;
}
.nep-reserve .wp-block-kadence-column:first-child > .kt-inside-inner-col > * {
	position: relative;
	z-index: 1;
}

/* ---------- WPCafe reservation form on dark ---------- */
.nep-wpc-reservation,
.nep-wpc-reservation .wpc-reservation-form-root {
	font-family: var(--nep-font-body);
	color: var(--nep-bone-200);
}
.nep-wpc-reservation .wpc-reservation-form-root > div,
.nep-wpc-reservation .wpc-reservation-form-root [class*="container"],
.nep-wpc-reservation .wpc-reservation-form-root [class*="wrapper"],
.nep-wpc-reservation .wpc-reservation-form-root [class*="card"],
.nep-wpc-reservation .wpc-reservation-form-root form {
	background: transparent !important;
	border-color: var(--nep-border-subtle) !important;
	box-shadow: none !important;
}
.nep-wpc-reservation label,
.nep-wpc-reservation [class*="label"] {
	font-family: var(--nep-font-body) !important;
	font-size: 11px !important;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--global-palette5) !important;
}
.nep-wpc-reservation input,
.nep-wpc-reservation select,
.nep-wpc-reservation textarea,
.nep-wpc-reservation [class*="select__control"],
.nep-wpc-reservation [class*="picker"] input {
	background: var(--nep-ink-900) !important;
	border: 1px solid var(--nep-border-default) !important;
	border-radius: 2px !important;
	color: var(--nep-bone-50) !important;
	font-family: var(--nep-font-body) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.nep-wpc-reservation button[type="submit"],
.nep-wpc-reservation [class*="btn-primary"],
.nep-wpc-reservation [class*="submit"] button {
	background: var(--nep-red-500) !important;
	border-color: var(--nep-red-500) !important;
	color: var(--nep-bone-50) !important;
	border-radius: 2px !important;
	font-family: var(--nep-font-display) !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* ---------- Links page rows (design LinkRow) ---------- */
.nep-linkrow {
	width: 100%;
	margin: 0 !important;
}
.nep-linkrow .kb-button {
	width: 100%;
	min-height: 60px;
	justify-content: flex-start !important;
	gap: 14px;
	padding: 10px 18px !important;
	text-align: left;
	background: rgba(20, 16, 16, .72);
	border: 1px solid var(--nep-border-default) !important;
	backdrop-filter: blur(6px);
}
.nep-linkrow .kb-button:hover {
	background: var(--nep-ink-700);
	border-color: var(--nep-brass-600) !important;
}
.nep-linkrow.nep-linkrow-primary .kb-button {
	background: var(--nep-red-500);
	border-color: var(--nep-red-400) !important;
	color: var(--nep-bone-50);
}
.nep-linkrow.nep-linkrow-primary .kb-button:hover {
	background: var(--nep-red-400);
}
.nep-linkrow .kt-btn-inner-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	flex: 1;
	font-size: 13px;
	letter-spacing: .08em;
}
.nep-link-sub {
	font-family: var(--nep-font-body);
	font-weight: 400;
	font-size: 12px;
	letter-spacing: 0;
	text-transform: none;
	opacity: .75;
}

/* ---------- SureForms: every field label uses the eyebrow style ---------- */
.srfm-form-container .srfm-block-label,
.srfm-form-container .srfm-block label,
.srfm-form-container .srfm-dropdown-block label {
	font-family: var(--nep-font-body) !important;
	font-size: 11px !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: var(--global-palette5) !important;
}
.srfm-form-container .srfm-dropdown-common,
.srfm-form-container .ts-control,
.srfm-form-container .ts-dropdown {
	background: var(--nep-ink-900) !important;
	color: var(--nep-bone-50) !important;
	border-color: var(--nep-border-default) !important;
}

/* Reservations photo column fills the row height */
.nep-reserve > .kt-row-column-wrap {
	align-items: stretch !important;
}
.nep-reserve .wp-block-kadence-column:first-child,
.nep-reserve .wp-block-kadence-column:first-child > .kt-inside-inner-col {
	height: 100% !important;
	min-height: 640px;
}
/* WPCafe (Tailwind UI) — strip its white surfaces, restyle controls */
.nep-wpc-reservation .wpc-reservation-form-root *:not(svg):not(path) {
	background-color: transparent !important;
	box-shadow: none !important;
}
.nep-wpc-reservation .wpc-reservation-form-root button.wcf-select-btn,
.nep-wpc-reservation .wpc-reservation-form-root button.wcf-popover-btn,
.nep-wpc-reservation .wpc-reservation-form-root input,
.nep-wpc-reservation .wpc-reservation-form-root textarea {
	background-color: var(--nep-ink-900) !important;
	border: 1px solid var(--nep-border-default) !important;
	border-radius: 2px !important;
	color: var(--nep-bone-50) !important;
	font-family: var(--nep-font-body) !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
.nep-wpc-reservation .wpc-reservation-form-root .wcf-btn:not(.wcf-outline-btn):not(.wcf-popover-btn):not(.wcf-reservation-cancel-btn) {
	background-color: var(--nep-red-500) !important;
	color: var(--nep-bone-50) !important;
	border-radius: 2px !important;
}
/* WPCafe popovers render in a portal outside the form */
[data-radix-popper-content-wrapper] [role="listbox"],
[data-radix-popper-content-wrapper] [role="dialog"] {
	background: var(--nep-ink-700) !important;
	color: var(--nep-bone-50) !important;
	border: 1px solid var(--nep-border-default) !important;
}

.nep-wpc-reservation .wpc-reservation-form-root {
	background: transparent !important;
	padding: 0 !important;
}
.nep-wpc-reservation .wpc-reservation-form-root input.wcf-input,
.nep-wpc-reservation .wpc-reservation-form-root textarea {
	background-color: var(--nep-ink-900) !important;
	border: 1px solid var(--nep-border-default) !important;
	color: var(--nep-bone-50) !important;
}

/* Badge (design Badge tone="brass" variant="outline") */
.nep-badge {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	padding: 4px 8px;
	border: 1px solid var(--nep-brass-500);
	border-radius: 2px;
	font-family: var(--nep-font-body);
	font-weight: 400;
	font-size: 11px;
	line-height: 1;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--nep-brass-300);
}
p.nep-badge {
	margin-left: 0;
	align-self: flex-start;
}
/* Careers role list dividers */
.nep-role {
	border-top: 1px solid var(--nep-border-subtle);
}
.nep-roles .nep-role:last-child {
	border-bottom: 1px solid var(--nep-border-subtle);
}
/* Journal lead post — text beside image */
.nep-lead-post .loop-entry .entry-content-wrap {
	padding: 8px 0 0 40px !important;
}
@media (max-width: 767px) {
	.nep-lead-post .loop-entry .entry-content-wrap {
		padding: 16px 0 0 !important;
	}
}
.nep-lead-post .entry-title {
	font-size: 32px !important;
}

/* Reservation form: "Request Cancellation" = secondary (outlined) button */
.nep-wpc-reservation .wpc-reservation-form-root .wcf-btn.wcf-reservation-cancel-btn {
	background-color: transparent !important;
	border: 1px solid var(--nep-brass-500) !important;
	border-radius: 2px !important;
	color: var(--nep-brass-300) !important;
}
.nep-wpc-reservation .wpc-reservation-form-root .wcf-btn.wcf-reservation-cancel-btn:hover {
	background-color: rgba(131, 106, 55, .14) !important;
	border-color: var(--nep-brass-300) !important;
	color: var(--nep-brass-200) !important;
}

/* Home hero — design height is min(78vh, 720px), min 520px */
.nep-hero > .kt-row-column-wrap {
	min-height: max(520px, min(78vh, 720px)) !important;
}
@media (max-width: 767px) {
	.nep-hero > .kt-row-column-wrap {
		min-height: min(88vh, 680px) !important;
	}
}

/* Respect reduced-motion: show everything immediately */
@media (prefers-reduced-motion: reduce) {
	[data-aos] {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Option B logo: large at the top, shrinks with the sticky header */
.site-branding img.custom-logo {
	transition: max-height 240ms var(--nep-ease-tide), max-width 240ms var(--nep-ease-tide);
}
.kadence-sticky-header.item-is-stuck .site-branding img.custom-logo {
	width: 58px !important;
	max-width: 58px !important;
	height: auto !important;
	max-height: none !important;
}
@media (max-width: 1024px) {
	.kadence-sticky-header.item-is-stuck .site-branding img.custom-logo {
		width: 46px !important;
		max-width: 46px !important;
	}
}
@media (max-width: 767px) {
	.kadence-sticky-header.item-is-stuck .site-branding img.custom-logo {
		width: 42px !important;
		max-width: 42px !important;
	}
}

/* ---------- WPCafe mini cart — floating tab + slide-out panel on brand ---------- */
.wpc-cart_main_block .wpc_cart_icon {
	background: var(--nep-red-500) !important;
	color: var(--nep-bone-50) !important;
	border-radius: 2px 0 0 2px !important;
	box-shadow: var(--shadow-2, 0 8px 24px -8px rgba(0, 0, 0, .6)) !important;
	transition: background-color 140ms var(--nep-ease-tide);
}
.wpc-cart_main_block .wpc_cart_icon:hover {
	background: var(--nep-red-400) !important;
}
.wpc-cart_main_block .wpc_cart_icon i,
.wpc-cart_main_block .wpc_cart_icon .wpcafe-cart_icon {
	color: var(--nep-bone-50) !important;
}
.wpc-cart_main_block .wpc-mini-cart-count,
.wpc-cart_main_block .cart-items-count,
.wpc-cart_main_block .basket-item-count {
	background: var(--nep-bone-50) !important;
	color: var(--nep-ink-900) !important;
	font-family: var(--nep-font-body) !important;
	font-weight: 400 !important;
}
.wpc-cart_main_block .wpc-cart-message {
	background: var(--nep-ink-700) !important;
	color: var(--nep-bone-50) !important;
	border: 1px solid var(--nep-brass-600) !important;
	border-radius: 2px !important;
	font-family: var(--nep-font-body) !important;
}
/* Panel */
.wpc-cart_main_block .wpc-menu-mini-cart,
.wpc-cart_main_block .wpc-menu-mini-cart.wpc_background_color {
	background: var(--nep-ink-700) !important;
	color: var(--nep-bone-200) !important;
	border-left: 1px solid var(--nep-brass-600) !important;
	border-radius: 0 !important;
	box-shadow: 0 24px 60px -16px rgba(0, 0, 0, .75) !important;
	font-family: var(--nep-font-body) !important;
}
.wpc-cart_main_block .wpc-menu-mini-cart .widget_shopping_cart_content,
.wpc-cart_main_block .wpc-menu-mini-cart .cart-wrapper,
.wpc-cart_main_block .wpc-menu-mini-cart .wpc-empty-cart {
	background: transparent !important;
}
.wpc-cart_main_block .wpc-minicart-header,
.wpc-cart_main_block .wpc-minicart-header * {
	font-family: var(--nep-font-display) !important;
	font-weight: 700 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
	color: var(--nep-brass-300) !important;
	border-color: var(--nep-border-subtle) !important;
}
.wpc-cart_main_block .wpc-woocommerce-mini-cart__empty-message {
	color: var(--global-palette5) !important;
	font-size: 15px !important;
}
/* Items */
.wpc-cart_main_block .wpc-woocommerce-mini-cart li,
.wpc-cart_main_block .cart_list li {
	border-bottom: 1px solid var(--nep-border-subtle) !important;
	background: transparent !important;
}
.wpc-cart_main_block .cart_list li a:not(.remove) {
	color: var(--nep-bone-50) !important;
	font-family: var(--nep-font-body) !important;
}
.wpc-cart_main_block .cart_list img {
	border-radius: 0 !important;
}
.wpc-cart_main_block .woocommerce-Price-amount,
.wpc-cart_main_block .amount {
	color: var(--nep-brass-300) !important;
	font-family: var(--nep-font-body) !important;
}
.wpc-cart_main_block a.remove,
.wpc-cart_main_block .remove_from_cart_button {
	color: var(--global-palette6) !important;
	background: transparent !important;
	border: 1px solid var(--nep-border-default) !important;
	border-radius: 2px !important;
}
.wpc-cart_main_block a.remove:hover {
	color: var(--nep-bone-50) !important;
	border-color: var(--nep-brass-500) !important;
}
/* Quantity + coupon controls */
.wpc-cart_main_block .quantity,
.wpc-cart_main_block .mini-cart-quantity-wrapper {
	border-color: var(--nep-border-default) !important;
	border-radius: 2px !important;
	background: transparent !important;
}
.wpc-cart_main_block .quantity .minus,
.wpc-cart_main_block .quantity .plus,
.wpc-cart_main_block .quantity input.qty,
.wpc-cart_main_block .wpc-minicart-coupon-field,
.wpc-cart_main_block input.input-text {
	background: var(--nep-ink-900) !important;
	color: var(--nep-bone-50) !important;
	border-color: var(--nep-border-default) !important;
	border-radius: 2px !important;
}
.wpc-cart_main_block .wpc-minicart-copoun-label,
.wpc-cart_main_block .showcoupon {
	color: var(--nep-brass-400) !important;
}
/* Totals */
.wpc-cart_main_block .wpc-woocommerce-mini-cart__total,
.wpc-cart_main_block .wpc-minicart-subtotal,
.wpc-cart_main_block .wpc-subtotal-wrap {
	border-top: 1px solid var(--nep-border-default) !important;
	border-bottom: 0 !important;
	color: var(--nep-bone-50) !important;
}
.wpc-cart_main_block .wpc-woocommerce-mini-cart__total strong,
.wpc-cart_main_block .wpc-minicart-subtotal strong {
	font-family: var(--nep-font-body) !important;
	font-weight: 400 !important;
	font-size: 11px !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: var(--global-palette5) !important;
}
/* Buttons: view cart / close = outline, checkout / explore = filled brass */
.wpc-cart_main_block .wpc-btn,
.wpc-cart_main_block .buttons .button,
.wpc-cart_main_block .wpc-cupon-btn {
	font-family: var(--nep-font-display) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: background-color 140ms var(--nep-ease-tide), color 140ms var(--nep-ease-tide), border-color 140ms var(--nep-ease-tide);
}
.wpc-cart_main_block .buttons .button:not(.checkout),
.wpc-cart_main_block .minicart-close,
.wpc-cart_main_block .wpc-cupon-btn {
	background: transparent !important;
	color: var(--nep-brass-300) !important;
	border: 1px solid var(--nep-brass-500) !important;
}
.wpc-cart_main_block .buttons .button:not(.checkout):hover,
.wpc-cart_main_block .minicart-close:hover,
.wpc-cart_main_block .wpc-cupon-btn:hover {
	background: rgba(131, 106, 55, .14) !important;
	color: var(--nep-brass-200) !important;
	border-color: var(--nep-brass-300) !important;
}
.wpc-cart_main_block .buttons .button.checkout,
.wpc-cart_main_block .wpc-empty-btn {
	background: var(--nep-red-500) !important;
	color: var(--nep-bone-50) !important;
	border: 1px solid var(--nep-red-500) !important;
}
.wpc-cart_main_block .buttons .button.checkout:hover,
.wpc-cart_main_block .wpc-empty-btn:hover {
	background: var(--nep-red-400) !important;
	border-color: var(--nep-red-400) !important;
}
.wpc-cart_main_block .buttons .button.checkout.disabled {
	opacity: .5;
}
.wpc-cart_main_block .wpc-minicart-ordering-disabled-notice {
	background: var(--nep-ink-900) !important;
	color: var(--nep-bone-200) !important;
	border-left: 3px solid var(--nep-ember-500, #D08A32) !important;
}
/* Mini cart footer (subtotal, coupon, totals, pickup) sits on the ink panel */
.wpc-cart_main_block .wpc-subtotal-wrap,
.wpc-cart_main_block .wpc-coupon-wrapper,
.wpc-cart_main_block .wpc-minicart-extra,
.wpc-cart_main_block .wpc-woocommerce-mini-cart__buttons {
	background: var(--nep-ink-700) !important;
	border-color: var(--nep-border-subtle) !important;
}
.wpc-cart_main_block .wpc-minicart-extra-total,
.wpc-cart_main_block .wpc-minicart-extra-total > span {
	font-family: var(--nep-font-body) !important;
	color: var(--nep-bone-50) !important;
}
.wpc-cart_main_block .wpc-minicart-extra-total .wpc-extra-text {
	color: var(--global-palette6) !important;
}
.wpc-cart_main_block .wpc-minicart-total,
.wpc-cart_main_block .wpc-minicart-total * {
	font-family: var(--nep-font-display) !important;
	color: var(--nep-brass-300) !important;
}
.wpc-cart_main_block label,
.wpc-cart_main_block .order_type {
	color: var(--nep-bone-200) !important;
	font-family: var(--nep-font-body) !important;
}
.wpc-cart_main_block input.wpc-minicart-condition-input {
	accent-color: var(--nep-brass-500);
	border-color: var(--nep-brass-500) !important;
}
.wpc-cart_main_block .dot-shadow {
	background: var(--nep-brass-500) !important;
	box-shadow: 0 0 0 3px rgba(131, 106, 55, .25) !important;
}
.wpc-cart_main_block a.remove svg,
.wpc-cart_main_block a.remove svg * {
	fill: currentColor !important;
	stroke: currentColor !important;
	color: inherit !important;
}
.wpc-cart_main_block .wpc-menu-mini-cart a.button.checkout.wc-forward,
.wpc-cart_main_block .wpc-menu-mini-cart .buttons a.checkout {
	background: var(--nep-red-500) !important;
	border-color: var(--nep-red-500) !important;
	color: var(--nep-bone-50) !important;
}
.wpc-cart_main_block .wpc-menu-mini-cart a.button.checkout.wc-forward:hover {
	background: var(--nep-red-400) !important;
	border-color: var(--nep-red-400) !important;
}
.wpc-cart_main_block .wpc-mini-cart-count {
	min-width: 18px;
	height: 18px;
	line-height: 18px !important;
	font-size: 11px !important;
	border-radius: 999px !important;
	text-align: center;
}

/* ---------- WPCafe food menu (Order page) ---------- */
.nep-order .wpc-tab-a,
.nep-order .wpc-tab-a span {
	font-family: var(--nep-font-display) !important;
	font-weight: 700 !important;
	font-size: 12px !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	color: var(--global-palette5) !important;
}
.nep-order .wpc-tab-a:hover,
.nep-order .wpc-tab-a:hover span {
	color: var(--nep-bone-50) !important;
}
.nep-order .wpc-tab-a.wpc-active,
.nep-order .wpc-tab-a.wpc-active span {
	color: var(--nep-brass-300) !important;
	border-color: var(--nep-brass-500) !important;
}
.nep-order .wpc-tab-a.wpc-active::after,
.nep-order .wpc-tab-a.wpc-active::before {
	border-top-color: var(--nep-brass-500) !important;
	background-color: var(--nep-brass-500) !important;
}
.nep-order li:has(> .wpc-tab-a) {
	border-color: var(--nep-brass-500) !important;
}
.nep-order .wpc-tab-a.wpc-active {
	border-bottom: 2px solid var(--nep-brass-500) !important;
}
.nep-order .wpc-post-title a,
.nep-order h3 a,
.nep-order .wpc-food-inner-content h3 a {
	color: var(--nep-bone-50) !important;
	font-size: 17px !important;
	letter-spacing: .04em !important;
}
.nep-order .wpc-post-title a:hover,
.nep-order h3 a:hover {
	color: var(--nep-brass-300) !important;
}
.nep-order .woocommerce-Price-amount,
.nep-order .price {
	color: var(--nep-brass-300) !important;
}
.nep-order p,
.nep-order .wpc-food-desc {
	color: var(--global-palette5);
}
.nep-order a.add_to_cart_button,
.nep-order a.button.add_to_cart_button {
	background: var(--nep-red-500) !important;
	color: var(--nep-bone-50) !important;
	border: 1px solid var(--nep-red-500) !important;
	border-radius: 2px !important;
}
.nep-order a.add_to_cart_button:hover {
	background: var(--nep-red-400) !important;
	border-color: var(--nep-red-400) !important;
}
.nep-order a.add_to_cart_button * {
	color: var(--nep-ink-900) !important;
	fill: currentColor !important;
}
.nep-order img {
	border-radius: 0 !important;
}
.wpc-cart_main_block .wpc-menu-mini-cart .buttons a.button.wc-forward:not(.checkout) {
	background: transparent !important;
	color: var(--nep-brass-300) !important;
	border: 1px solid var(--nep-brass-500) !important;
}
.wpc-cart_main_block .wpc-menu-mini-cart .buttons a.button.wc-forward:not(.checkout):hover {
	background: rgba(131, 106, 55, .14) !important;
	color: var(--nep-brass-200) !important;
}
.wpc-cart_main_block .wpc_cart_icon {
	overflow: visible !important;
}
/* Anchor the count badge to the tab (not WPCafe's zero-size <sup>) and pin it top-right */
.wpc-cart_main_block .wpc_cart_icon .basket-item-count {
	position: static !important;
}
.wpc-cart_main_block .wpc_cart_icon .wpc-mini-cart-count {
	position: absolute !important;
	top: 6px !important;
	right: 10px !important;
	left: auto !important;
	bottom: auto !important;
	padding: 0 5px !important;
}

/* PARKED 2026-10: online ordering is off until Square is connected — hide the floating WPCafe cart. Delete this rule to bring it back. */
.wpc-cart_main_block {
	display: none !important;
}

/* Menu page (108): category chips + sticky category bar (block class nep-menu-nav; each chip has class
   scroll-ignore so Kadence's JS anchor scroll skips them and scroll-margin-top applies). The html
   scroll-padding-top above stacks with these offsets. Active chip is set by js/menu-nav.js. */
.kb-row-layout-wrap:has(.nep-menu-nav) {
	overflow: clip;
}
.nep-menu-nav {
	--nep-head: 73px;
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--nep-head));
	z-index: 20;
	gap: 8px !important;
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	justify-content: safe center !important;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-snap-type: x proximity;
	padding-block: 12px !important;
	background: var(--nep-tide-800);
	box-shadow: 0 0 0 100vmax var(--nep-tide-800);
	clip-path: inset(0 -100vmax);
}
.nep-menu-nav::-webkit-scrollbar {
	display: none;
}
.nep-menu-nav .kb-button {
	flex: 0 0 auto;
	scroll-snap-align: start;
	border: 1px solid rgba(191, 165, 110, 0.55) !important;
	border-radius: 999px !important;
	padding: 8px 16px !important;
	color: var(--nep-brass-200) !important;
	background: rgba(14, 11, 11, 0.18) !important;
	line-height: 1 !important;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
.nep-menu-nav .kb-button:hover,
.nep-menu-nav .kb-button:focus-visible {
	background: var(--nep-brass-300) !important;
	border-color: var(--nep-brass-300) !important;
	color: var(--nep-ink-900) !important;
}
.nep-menu-nav .kb-button.is-active {
	background: var(--nep-red-500) !important;
	border-color: var(--nep-red-400) !important;
	color: var(--nep-bone-50) !important;
}
.nep-menu-nav .kb-button:focus-visible {
	outline: 2px solid var(--nep-bone-50);
	outline-offset: -4px;
}
[id^="m-"] {
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 140px);
}
@media (min-width: 1025px) {
	.nep-menu-nav {
		align-self: center;
		box-sizing: border-box;
		width: calc(100vw - 48px);
		max-width: 1480px;
		padding-inline: 24px !important;
		scroll-padding-inline: 24px;
	}
}
@media (max-width: 1024px) {
	.nep-menu-nav {
		--nep-head: 61px;
	}
	[id^="m-"] {
		scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 130px);
	}
}
@media (max-width: 767px) {
	.nep-menu-nav {
		align-self: stretch;
		box-sizing: border-box;
		width: calc(100% + 32px);
		max-width: none;
		margin-inline: -16px;
		padding-inline: 16px !important;
		scroll-padding-inline: 16px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.nep-menu-nav .kb-button {
		transition: none;
	}
}

/* Audit 2026-10-27 — accessibility fixes. */
/* In-text links (legal pages) need more than colour to stand out from body text (WCAG 1.4.1). */
.entry-content p.wp-block-kadence-advancedheading a:not(.kb-button) {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}
/* Links page: gold text on the red button was 3.8:1; filled buttons use bone text sitewide. */
.kb-btn128_8ff3f3-cf .kt-btn-inner-text {
	color: var(--nep-bone-50) !important;
}
/* Footer links: at least 24px tall targets (WCAG 2.5.8). */
.site-footer .footer-navigation a,
.site-footer .widget a {
	display: inline-block;
	padding-block: 4px;
}
/* Mobile menu toggle: 44px target. */
.mobile-toggle-open-container .menu-toggle-open {
	min-width: 44px;
	min-height: 44px;
	justify-content: center;
}
/* Home hero: menu, directions and call buttons stack at one width on phones. */
@media (max-width: 767px) {
	.kb-btns107_7f6cda-1c {
		flex-direction: column;
		align-items: center;
	}
	.kb-btns107_7f6cda-1c .kb-button {
		width: min(100%, 260px);
		justify-content: center;
	}
}
/* Japanese subtitles: lighter gold passes contrast on both dark backgrounds (7.6:1 on ink, 5.2:1 on sea serpent). */
.nep-jp {
	color: var(--nep-brass-300) !important;
}
