/* Jägerhäusl Nachtschicht – MUST load last. Hard colors (no reliance on cached tokens). */
:root {
	--pc-accent: #be9f55 !important;
	--pc-accent-dark: #a88842 !important;
	--pc-accent-soft: rgba(190, 159, 85, 0.16) !important;
	--pc-accent-hover: #d4af6a !important;
	--pc-secondary: #006747 !important;
	--pc-bg: #0a0e1a !important;
	--pc-bg-soft: #111827 !important;
	--pc-bg-warm: #0f172a !important;
	--pc-bg-card: #1f2937 !important;
	--pc-bg-dark: #05070f !important;
	--pc-text: #e5e7eb !important;
	--pc-text-mute: #9ca3af !important;
	--pc-text-light: #6b7280 !important;
	--pc-text-invert: #0a0e1a !important;
	--pc-border: #374151 !important;
	--pc-border-soft: #253347 !important;
	--pc-header-bg: rgba(10, 14, 26, 0.95) !important;
	--pc-header-h: 72px !important;
	--pc-font: 'Montserrat', system-ui, sans-serif !important;
	--pc-font-display: 'Montserrat', system-ui, sans-serif !important;
	--mn-bg: #0a0e1a !important;
	--mn-bg-alt: #111827 !important;
	--mn-text: #e5e7eb !important;
	--mn-text-mute: #9ca3af !important;
	--mn-text-light: #6b7280 !important;
	--mn-accent: #be9f55 !important;
	--mn-border: #374151 !important;
	--mn-serif: 'Montserrat', system-ui, sans-serif !important;
	--mn-sans: 'Montserrat', system-ui, sans-serif !important;
}

html, body {
	background: #0a0e1a !important;
	color: #e5e7eb !important;
}

/* Header */
.pc-header {
	background: rgba(10, 14, 26, 0.95) !important;
	border-bottom: 1px solid #253347 !important;
}
.pc-header__nav a,
.pc-burger, .pc-icon-btn, .pc-cart-btn { color: #e5e7eb !important; }
.pc-burger, .pc-icon-btn, .pc-cart-btn {
	background: #1f2937 !important;
	border-color: #374151 !important;
}
.pc-mobile-nav { background: #111827 !important; }
.pc-mobile-nav a { color: #e5e7eb !important; }

/* Page header / footer */
.mn-page-header {
	background: #0a0e1a !important;
	border-bottom: 1px solid #253347 !important;
}
.mn-page-header__title { color: #be9f55 !important; }
.mn-page-header__desc,
.mn-page-header__back { color: #9ca3af !important; }

.mn-footer {
	background: #05070f !important;
	border-top: 1px solid #253347 !important;
	color: #e5e7eb !important;
}
.mn-footer__heading { color: #be9f55 !important; }
.mn-footer__links a,
.mn-footer__links li,
.mn-footer__brand p,
.mn-footer__bar { color: #9ca3af !important; }
.mn-footer__social-link {
	background: #1f2937 !important;
	color: #be9f55 !important;
	border: 1px solid #374151 !important;
}

/* Menu nav */
.pc-menu-nav {
	position: sticky !important;
	top: var(--pc-header-h, 72px) !important;
	z-index: 900 !important;
	background: #0a0e1a !important;
	border-bottom: 1px solid #253347 !important;
	border-color: #253347 !important;
}
.pc-menu-nav__btn {
	background: #1f2937 !important;
	color: #e5e7eb !important;
	border: 1px solid #374151 !important;
}
.pc-menu-nav__btn.is-active {
	background: #be9f55 !important;
	color: #0a0e1a !important;
	border-color: #be9f55 !important;
}

/* Search / status */
.pc-menu-search,
.pc-menu-topbar,
.pc-menu-page,
.pc-main { background: transparent !important; }
.pc-menu-search__wrap {
	background: #1f2937 !important;
	border: 1px solid #374151 !important;
}
.pc-menu-search__wrap input,
.pc-menu-search__icon { color: #e5e7eb !important; background: transparent !important; }
.pc-menu-search__wrap input::placeholder { color: #6b7280 !important; }
.pc-menu-status__pill {
	background: #1f2937 !important;
	color: #e5e7eb !important;
	border: 1px solid #374151 !important;
}
.pc-menu-status__pill--action,
.pc-menu-status__pill--mode {
	background: rgba(190,159,85,.15) !important;
	color: #be9f55 !important;
	border-color: rgba(190,159,85,.35) !important;
}

/* Sections + items */
.pc-menu-section__title,
.pc-cat-title { color: #be9f55 !important; }
.pc-menu-item,
.pc-product-row,
.pc-product-card {
	background: #1f2937 !important;
	border: 1px solid #253347 !important;
	color: #e5e7eb !important;
	box-shadow: none !important;
}
.pc-menu-item__name,
.pc-menu-item__title,
.pc-menu-item__info h3 { color: #e5e7eb !important; }
.pc-menu-item__desc,
.pc-menu-item__sku { color: #9ca3af !important; }
.pc-menu-item__price { color: #be9f55 !important; }
.pc-menu-item__img--placeholder {
	background: #111827 !important;
	color: #be9f55 !important;
}
.pc-menu-item__add,
.pc-btn-primary,
button.pc-btn-primary,
.pc-btn.pc-btn-primary,
.single_add_to_cart_button,
.checkout-button,
#place_order {
	background: #be9f55 !important;
	color: #0a0e1a !important;
	border-color: #be9f55 !important;
}

/* Mode selector (plugin) */
.pc-mode-selector {
	background: #111827 !important;
	border: 1px solid #374151 !important;
}
.pc-mode-btn { color: #9ca3af !important; background: transparent !important; box-shadow: none !important; }
.pc-mode-btn.is-active {
	background: #be9f55 !important;
	color: #0a0e1a !important;
}

/* Time / toppings (plugin whites) */
.pc-time-type__option,
.pc-time-day,
.pc-time-slot,
.pc-toppings__option {
	background: #1f2937 !important;
	border-color: #374151 !important;
	color: #e5e7eb !important;
}
.pc-time-type__option.is-active,
.pc-time-day.is-active {
	border-color: #be9f55 !important;
	background: rgba(190,159,85,.12) !important;
}
.pc-time-slot.is-active {
	background: #be9f55 !important;
	color: #0a0e1a !important;
}
.pc-time-selected { background: #111827 !important; color: #e5e7eb !important; }
.pc-min-notice.is-pending { background: rgba(212,175,106,.15) !important; color: #d4af6a !important; }
.pc-min-notice.is-reached { background: rgba(16,185,129,.15) !important; color: #10b981 !important; }

/* Minicart / modal / pill bar */
/* Minicart bottom-sheet (body-level) */
.pc-minicart-backdrop { background: rgba(0,0,0,.65) !important; }
.pc-minicart {
	background: #111827 !important;
	border: 1px solid #374151 !important;
	color: #e5e7eb !important;
}

.pc-modal__panel { background: #111827 !important; color: #e5e7eb !important; border: 1px solid #374151 !important; }
.pc-modal__overlay { background: rgba(0,0,0,.7) !important; }
.pc-pill-bar {
	background: rgba(17, 24, 39, 0.97) !important;
	border-top: 1px solid #374151 !important;
	color: #e5e7eb !important;
}
.pc-pill-bar__item { color: #e5e7eb !important; }
.pc-pill-bar__checkout { background: #be9f55 !important; color: #0a0e1a !important; }

/* Woo forms */
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.woocommerce-input-wrapper input,
.select2-container .select2-selection {
	background: #1f2937 !important;
	border-color: #374151 !important;
	color: #e5e7eb !important;
}
.woocommerce-cart-form table,
.woocommerce-checkout-review-order,
#order_review,
.cart-collaterals .cart_totals {
	background: #1f2937 !important;
	color: #e5e7eb !important;
}
.woocommerce-cart-form table th { background: #111827 !important; color: #9ca3af !important; }

/* Location banner */
.pc-location-banner {
	background: #111827 !important;
	border-color: #374151 !important;
	color: #e5e7eb !important;
}


/* Sticky category bar – always under main header, never mid-page */
.pc-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
}
.pc-menu-nav {
	position: sticky !important;
	top: var(--pc-header-h, 72px) !important;
	z-index: 900 !important;
	background: #0a0e1a !important;
	border-bottom: 1px solid #253347 !important;
}
.pc-main,
.pc-menu-page,
.pc-woo-content,
.woocommerce,
.woocommerce-page {
	overflow: visible !important;
	transform: none !important;
	filter: none !important;
}
body.admin-bar .pc-header { top: 32px !important; }
body.admin-bar .pc-menu-nav { top: calc(var(--pc-header-h, 72px) + 32px) !important; }
@media (max-width: 782px) {
	body.admin-bar .pc-header { top: 46px !important; }
	body.admin-bar .pc-menu-nav { top: calc(var(--pc-header-h, 72px) + 46px) !important; }
}

/* Speisekarte – mehr Luft */
.pc-menu-nav { padding: 14px 0 16px !important; }
.pc-menu-nav__scroll { gap: 8px !important; }
.pc-menu-nav__btn { padding: 9px 16px !important; }

.pc-menu-search { padding: 28px 0 12px !important; }
.pc-menu-topbar { gap: 14px !important; }
#pc-menu-search-input { padding: 13px 16px 13px 44px !important; }
.pc-menu-status { gap: 8px !important; }
.pc-menu-status__pill { padding: 8px 14px !important; }

.pc-menu-page > .pc-container:has(.pc-menu-section) { padding-top: 28px !important; }
.pc-menu-section { margin-top: 0 !important; margin-bottom: 48px !important; }
.pc-menu-section__header {
	padding-bottom: 14px !important;
	margin-bottom: 16px !important;
}
.pc-menu-section__title {
	font-size: 22px !important;
	letter-spacing: 0.02em;
}

.pc-menu-list { gap: 12px !important; }
.pc-menu-item {
	padding: 18px 16px !important;
	gap: 16px !important;
	border-radius: 10px !important;
	margin: 0 !important;
}
.pc-menu-item__name { margin: 0 0 6px !important; }
.pc-menu-item__desc { line-height: 1.5 !important; }
.pc-menu-item__action { gap: 8px !important; }
.pc-menu-item__img,
.pc-menu-item__img--placeholder {
	width: 72px !important;
	height: 72px !important;
}

@media (max-width: 768px) {
	.pc-menu-search { padding: 20px 0 10px !important; }
	.pc-menu-page > .pc-container:has(.pc-menu-section) { padding-top: 20px !important; }
	.pc-menu-section { margin-top: 0 !important; margin-bottom: 36px !important; }
	.pc-menu-item { padding: 16px 12px !important; gap: 12px !important; }
	.pc-menu-list { gap: 10px !important; }
}


/* ── Product detail modal (Lieferando-like) ── */
body.pc-modal-open { overflow: hidden !important; }
.pc-modal {
	z-index: 10060 !important;
	padding: 16px !important;
	align-items: flex-end !important;
}
@media (min-width: 640px) {
	.pc-modal { align-items: center !important; }
}
.pc-modal__overlay {
	background: rgba(10, 12, 16, 0.55) !important;
	backdrop-filter: blur(8px) !important;
	-webkit-backdrop-filter: blur(8px) !important;
}
.pc-modal__panel {
	width: min(480px, 100%) !important;
	max-height: min(88vh, 720px) !important;
	border-radius: 18px 18px 14px 14px !important;
	background: #151a22 !important;
	border: 1px solid rgba(190,159,85,.22) !important;
	box-shadow: 0 24px 60px rgba(0,0,0,.45) !important;
	overflow: hidden;
}
.pc-modal__header {
	padding: 18px 20px 10px !important;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.pc-modal__title {
	color: #fff !important;
	font-size: 18px !important;
	padding-right: 36px;
	line-height: 1.3;
}
.pc-modal__close {
	color: #e5e7eb !important;
	background: rgba(255,255,255,.06) !important;
	border-radius: 50% !important;
	width: 36px;
	height: 36px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
.pc-modal__body { padding: 8px 20px 18px !important; }
.pc-modal__product {
	text-align: left !important;
	background: transparent !important;
	border-bottom: 1px solid rgba(255,255,255,.08) !important;
	padding: 8px 0 16px !important;
	position: static !important;
}
.pc-modal__product-img {
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 14px;
	background: #1f2937;
}
.pc-modal__product-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pc-modal__product-name {
	color: #fff !important;
	font-size: 20px !important;
	margin: 0 0 8px !important;
}
.pc-modal__product-desc {
	margin: 0 0 12px;
	font-size: 14px;
	line-height: 1.5;
	color: #9ca3af;
}
.pc-modal__label,
.pc-modal__product-tax,
.pc-modal__extra-line { color: #9ca3af !important; }
.pc-modal__product-price,
.pc-modal__option-price { color: #be9f55 !important; }
.pc-modal__total-price { color: #e5e7eb !important; }
.pc-modal__section {
	margin-top: 18px;
	padding-top: 4px;
}
.pc-modal__section-title {
	margin: 0 0 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: #be9f55;
}
.pc-modal__group-title { color: #e5e7eb !important; }
.pc-modal__option {
	background: #1f2937 !important;
	border: 1px solid #374151 !important;
	color: #e5e7eb;
}
.pc-modal__option:hover {
	border-color: #be9f55 !important;
	background: rgba(190,159,85,.08) !important;
}
.pc-modal__coming-soon {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 14px;
	border-radius: 12px;
	background: rgba(190,159,85,.1);
	border: 1px solid rgba(190,159,85,.22);
	color: #d1d5db;
}
.pc-modal__coming-soon .ms {
	font-size: 22px;
	color: #be9f55;
	margin-top: 2px;
}
.pc-modal__coming-soon strong {
	display: block;
	color: #fff;
	margin-bottom: 4px;
}
.pc-modal__coming-soon p {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: #9ca3af;
}
.pc-modal__allergens {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pc-modal__allergens li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 10px 0;
	border-top: 1px solid rgba(255,255,255,.08);
	font-size: 14px;
	color: #e5e7eb;
}
.pc-modal__allergen-num {
	flex: 0 0 auto;
	min-width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(190,159,85,.18);
	color: #be9f55;
	font-size: 12px;
	font-weight: 700;
}
.pc-modal__allergen-note {
	margin: 10px 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: #9ca3af;
}
.pc-modal__footer {
	border-top: 1px solid rgba(255,255,255,.08) !important;
	background: #111827;
	padding: 14px 16px calc(14px + env(safe-area-inset-bottom, 0px)) !important;
}
.pc-modal__footer .pc-modal__add {
	background: #be9f55 !important;
	color: #0a0e1a !important;
	border: none !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}

/* Menu item hit area */
.pc-menu-item {
	display: flex !important;
	align-items: flex-start !important;
	position: relative;
}
.pc-menu-item__hit-inner { gap: 14px !important; }
.pc-menu-item__meta { align-self: center; }

/* ── Mobile / tablet polish ── */
@media (max-width: 1024px) {
	.pc-menu-nav__scroll {
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 2px;
	}
	.pc-menu-nav__scroll::-webkit-scrollbar { display: none; }
	.pc-menu-nav__btn { white-space: nowrap !important; flex-shrink: 0 !important; }
	.pc-menu-item__action {
		min-width: 76px;
		align-items: flex-end !important;
	}
}

@media (max-width: 768px) {
	:root { --pc-header-h: 64px !important; }
	.pc-header__inner { min-height: 64px !important; }
	.pc-menu-page { padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important; }
	.pc-menu-item__hit-inner { gap: 12px !important; }
	.pc-menu-item__img,
	.pc-menu-item__img--placeholder {
		width: 56px !important;
		height: 56px !important;
	}
	.pc-allergen-info__btn { width: 28px; height: 28px; }
	.pc-allergen-modal.is-open .pc-allergen-modal__dialog,
	.pc-modal.is-open .pc-modal__panel {
		width: 100% !important;
		max-width: 100% !important;
		border-radius: 18px 18px 0 0 !important;
		max-height: min(92vh, 760px) !important;
	}
	.pc-allergen-modal.is-open {
		display: flex !important;
		align-items: flex-end !important;
		padding: 0 !important;
	}
	.pc-allergen-modal:not(.is-open),
	.pc-allergen-modal[hidden] {
		display: none !important;
		pointer-events: none !important;
	}
}

@media (max-width: 480px) {
	.pc-menu-topbar {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	.pc-menu-status {
		flex-wrap: wrap !important;
	}
	.pc-menu-item__price { font-size: 13px !important; }
	.pc-menu-item__btn {
		width: 34px !important;
		height: 34px !important;
	}
}

.pc-menu-item__desc {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
}
.pc-menu-item__hit:focus-visible {
	outline: 2px solid #be9f55;
	outline-offset: 2px;
	border-radius: 8px;
}
