/**
 * Pizza Julie — GastroOne-style delivery address bar (WPPizza PLZ/Ort safe).
 */

.pj-delivery-address-bar {
	--pj-dab-burgundy: #8b1a1f;
	--pj-dab-burgundy-mid: #6a0c14;
	--pj-dab-burgundy-hot: #a51a24;
	--pj-dab-gold: #c9a227;
	--pj-dab-cream: #faf6ef;
	--pj-dab-ink: #1f1a17;
	--pj-dab-muted: #6a615a;
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.pj-delivery-address-bar__prompt {
	margin: 0 0 0.85rem;
}

.pj-delivery-address-bar__title {
	margin: 0;
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: clamp(1.25rem, 2.5vw, 1.65rem);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.pj-delivery-address-bar {
	padding: 1.3rem 1.35rem 1.4rem;
	border: 2px solid color-mix(in srgb, var(--pj-dab-gold) 72%, #fff);
	border-radius: 20px;
	background: linear-gradient(
		145deg,
		var(--pj-dab-burgundy-hot) 0%,
		var(--pj-dab-burgundy) 42%,
		var(--pj-dab-burgundy-mid) 100%
	);
	box-shadow:
		0 0 0 3px color-mix(in srgb, var(--pj-dab-gold) 28%, transparent),
		0 20px 46px rgba(60, 20, 10, 0.28);
}

.pj-delivery-address-bar__row {
	display: block;
	width: 100%;
	min-width: 0;
}

.pj-delivery-address-bar__search {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-width: 0;
	min-height: 3.65rem;
	padding: 0.35rem 0.45rem 0.35rem 0.55rem;
	gap: 0.35rem;
	border-radius: 12px;
	border: 2px solid color-mix(in srgb, var(--pj-dab-gold) 65%, #fff);
	background: #fff;
	box-shadow:
		0 8px 22px rgba(20, 8, 6, 0.22),
		inset 0 1px 0 rgba(255, 255, 255, 0.9);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, border-radius 0.2s ease;
}

.pj-delivery-address-bar:focus-within .pj-delivery-address-bar__search,
.pj-delivery-address-bar .pj-delivery-combobox:focus-within .pj-delivery-address-bar__search,
.pj-delivery-address-bar .pj-delivery-dropdown:not([hidden]) ~ *,
.pj-delivery-address-bar:has(.pj-delivery-dropdown:not([hidden])) .pj-delivery-address-bar__search {
	border-color: var(--pj-dab-gold);
	box-shadow:
		0 0 0 4px rgba(201, 162, 39, 0.35),
		0 10px 26px rgba(20, 8, 6, 0.24);
}

.pj-delivery-address-bar:has(.pj-delivery-dropdown:not([hidden])) .pj-delivery-address-bar__search {
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.pj-delivery-address-bar__pin {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	align-self: center;
	width: 2.35rem;
	height: 2.35rem;
	margin: 0;
	border-radius: 10px;
	background: linear-gradient(
		160deg,
		color-mix(in srgb, var(--pj-dab-burgundy) 14%, #fff) 0%,
		color-mix(in srgb, var(--pj-dab-gold) 28%, #fff) 100%
	);
	color: var(--pj-dab-burgundy);
	box-shadow: inset 0 0 0 1px rgba(139, 26, 31, 0.12);
}

.pj-delivery-address-bar__field,
.pj-delivery-address-bar .pj-home-order-panel__plz-wrap,
.pj-delivery-address-bar .pj-delivery-combobox {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	min-width: 0;
	width: auto;
	margin: 0;
}

.pj-delivery-address-bar__input,
.pj-delivery-address-bar #pj-delivery-plz,
.pj-delivery-address-bar .pj-home-order-panel__plz,
.pj-delivery-address-bar .pj-delivery-combobox__input {
	width: 100%;
	min-width: 0;
	min-height: 2.55rem;
	height: auto;
	margin: 0;
	padding: 0.45rem 0.35rem;
	border: 0 !important;
	border-radius: 0;
	background: transparent !important;
	box-shadow: none !important;
	font-size: clamp(0.95rem, 1.8vw, 1.08rem);
	font-weight: 600;
	line-height: 1.3;
	color: var(--pj-dab-ink);
	outline: none;
	cursor: pointer;
	caret-color: transparent;
}

.pj-delivery-address-bar__input::placeholder,
.pj-delivery-address-bar #pj-delivery-plz::placeholder,
.pj-delivery-address-bar .pj-delivery-combobox__input::placeholder {
	color: var(--pj-dab-muted);
	font-weight: 600;
	opacity: 1;
}

.pj-delivery-address-bar__action,
.pj-delivery-address-bar #pj-delivery-check {
	flex: 0 0 auto;
	align-self: stretch;
	width: auto;
	min-width: 7.5rem;
	min-height: 0;
	height: auto;
	margin: 0;
	padding: 0.45rem 0.9rem;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(135deg, #fff8e8 0%, var(--pj-dab-gold) 100%);
	color: var(--pj-dab-burgundy-mid);
	box-shadow: 0 6px 16px rgba(20, 8, 6, 0.2);
}

.pj-delivery-address-bar__action .pj-home-order-panel__btn-title,
.pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-title {
	color: inherit;
	font-size: 0.92rem;
	font-weight: 800;
}

.pj-delivery-address-bar__action .pj-home-order-panel__btn-time,
.pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-time {
	color: color-mix(in srgb, var(--pj-dab-burgundy-mid) 78%, #000);
	font-size: 0.72rem;
	font-weight: 600;
}

.pj-delivery-address-bar__action:hover,
.pj-delivery-address-bar #pj-delivery-check:hover,
.pj-delivery-address-bar__action:focus-visible,
.pj-delivery-address-bar #pj-delivery-check:focus-visible {
	background: linear-gradient(135deg, #fff 0%, #e8c65a 100%);
	transform: translateY(-1px);
}

.pj-delivery-address-bar__action:active,
.pj-delivery-address-bar #pj-delivery-check:active {
	transform: translateY(0);
}

/* Combobox dropdown inside white search field */
.pj-delivery-address-bar .pj-delivery-dropdown {
	position: absolute;
	top: calc(100% + 0.35rem);
	left: 0;
	right: 0;
	z-index: 40;
	margin: 0;
	padding: 0.35rem;
	border: 2px solid color-mix(in srgb, var(--pj-dab-gold) 55%, #fff);
	border-radius: 0 0 12px 12px;
	background: #fff;
	box-shadow: 0 16px 36px rgba(20, 8, 6, 0.28);
	overflow: hidden;
}

.pj-delivery-address-bar .pj-delivery-dropdown__list {
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: 14rem;
	overflow-y: auto;
}

.pj-delivery-address-bar .pj-delivery-dropdown__btn {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.55rem;
	width: 100%;
	padding: 0.7rem 0.75rem;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--pj-dab-ink);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.pj-delivery-address-bar .pj-delivery-dropdown__btn:hover,
.pj-delivery-address-bar .pj-delivery-dropdown__btn:focus-visible {
	background: color-mix(in srgb, var(--pj-dab-gold) 18%, #fff);
	outline: none;
}

.pj-delivery-address-bar .pj-delivery-dropdown__plz {
	font-weight: 800;
	color: var(--pj-dab-burgundy);
}

.pj-delivery-address-bar .pj-delivery-dropdown__area {
	font-weight: 600;
	color: var(--pj-dab-muted);
}

/* Homepage shell: cream panel around maroon bar + pickup */
.pj-home-order-panel--address-bar {
	padding: 1rem 1.05rem 1.1rem;
	background: rgba(255, 254, 251, 0.92);
}

.pj-home-order-panel--address-bar .pj-home-order-panel__grid {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.pj-home-order-panel--address-bar .pj-home-order-panel__btn--pickup {
	width: 100%;
}

.pj-home-order-panel--address-bar .pj-home-order-panel__message {
	margin-top: 0.65rem;
}

.pj-home-order-panel--address-bar .pj-home-order-panel__message.is-error {
	color: #fff4e0;
	background: rgba(139, 26, 31, 0.92);
	border-color: rgba(255, 220, 180, 0.45);
}

.pj-home-order-panel--address-bar .pj-home-order-panel__message.is-success {
	color: var(--pj-dab-burgundy-mid);
	background: linear-gradient(135deg, #fff8e8 0%, color-mix(in srgb, var(--pj-dab-gold) 55%, #fff) 100%);
	border-color: transparent;
}

/* Order-type delivery card */
.pj-order-type-card--address-bar {
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.pj-order-type-card--address-bar .pj-delivery-address-bar {
	margin-bottom: 0.75rem;
}

.pj-order-type-card--address-bar .pj-order-type-card__hint,
.pj-order-type-card--address-bar .pj-order-type-card__message {
	padding-inline: 0.15rem;
}

.pj-order-type-card--address-bar .pj-delivery-address-bar__action {
	min-width: 8.5rem;
}

.pj-order-type-card--address-bar .pj-delivery-address-bar__action .pj-home-order-panel__btn-time {
	display: none;
}

/* Menu panel on /online-bestellen/ */
#pj-order-menu-panel.pj-home-order-panel--address-bar,
#pj-order-menu-panel:has(.pj-delivery-address-bar) {
	padding: 1rem 1.05rem 1.1rem;
}

#pj-order-menu-panel .pj-delivery-address-bar {
	order: 0;
}

#pj-order-menu-panel .pj-home-order-panel__btn--pickup {
	order: 1;
}

@media (max-width: 640px) {
	.pj-delivery-address-bar {
		padding: 1.05rem 1rem 1.15rem;
		border-radius: 16px;
	}

	.pj-delivery-address-bar__search {
		flex-wrap: wrap;
		min-height: 0;
		padding: 0.45rem;
		gap: 0.45rem;
	}

	.pj-delivery-address-bar__pin {
		width: 2.15rem;
		height: 2.15rem;
	}

	.pj-delivery-address-bar__field,
	.pj-delivery-address-bar .pj-delivery-combobox {
		flex: 1 1 calc(100% - 3rem);
	}

	.pj-delivery-address-bar__action,
	.pj-delivery-address-bar #pj-delivery-check {
		flex: 1 1 100%;
		width: 100%;
		min-width: 0;
		min-height: 2.85rem;
	}

	.pj-delivery-address-bar:has(.pj-delivery-dropdown:not([hidden])) .pj-delivery-address-bar__search {
		border-radius: 12px;
	}

	.pj-delivery-address-bar .pj-delivery-dropdown {
		border-radius: 12px;
	}
}

@supports not (background: color-mix(in srgb, #000 50%, #fff)) {
	.pj-delivery-address-bar {
		border-color: #d4af37;
		box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.28), 0 20px 46px rgba(60, 20, 10, 0.28);
	}

	.pj-delivery-address-bar__search {
		border-color: #d4af37;
	}

	.pj-delivery-address-bar__pin {
		background: #fff4e0;
	}
}

/* Beat home.css mobile panel rules when address bar is present */
#pj-home-order-panel .pj-delivery-address-bar .pj-home-order-panel__delivery-row,
#pj-order-menu-panel .pj-delivery-address-bar .pj-home-order-panel__delivery-row {
	display: block;
	flex-direction: unset;
	gap: 0;
}

#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-plz,
#pj-home-order-panel .pj-delivery-address-bar .pj-home-order-panel__plz,
#pj-home-order-panel .pj-delivery-address-bar .pj-delivery-combobox__input,
#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-plz,
#pj-order-menu-panel .pj-delivery-address-bar .pj-delivery-combobox__input {
	height: auto;
	min-height: 2.55rem;
	padding-inline: 0.35rem;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-check,
#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-check {
	flex: 0 0 auto;
	width: auto;
	min-width: 7.5rem;
	max-width: none;
	min-height: 0;
	padding: 0.45rem 0.9rem;
	border: 0;
	border-radius: 10px;
	background: linear-gradient(135deg, #fff8e8 0%, #c9a227 100%);
	color: #6a0c14;
	box-shadow: 0 6px 16px rgba(20, 8, 6, 0.2);
	white-space: normal;
}

#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-time,
#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-time {
	display: block;
	color: color-mix(in srgb, #6a0c14 78%, #000);
}

@media (max-width: 640px) {
	#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-check,
	#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-check {
		flex: 1 1 100%;
		width: 100%;
		min-width: 0;
		min-height: 2.85rem;
	}

	#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-time,
	#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-time {
		display: none;
	}
}

/* Order-type card: neutralize old card chrome around maroon bar */
.pj-order-type-card--address-bar.pj-order-type-card--delivery::before {
	display: none;
}

.pj-order-type-card--address-bar.pj-order-type-card--delivery {
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: 0;
}

.pj-order-type-card--address-bar .pj-order-type-card__input--plz,
.pj-order-type-card--address-bar .pj-order-type-card__input--plz:focus {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/*
 * PIZZA-JULIE-DAB-COMPACT-PLZ-01
 * Neutralize order-type.css .pj-delivery-combobox { width:100% } + tall
 * .pj-order-type-card__input--plz rules inside the address bar only.
 * Keeps pin + PLZ on one row; Lieferung can still wrap below on mobile.
 */
.pj-delivery-address-bar .pj-delivery-combobox {
	width: auto !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: 100%;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: stretch !important;
}

.pj-delivery-address-bar .pj-delivery-combobox__input,
.pj-delivery-address-bar .pj-order-type-card__input,
.pj-delivery-address-bar .pj-order-type-card__input--plz,
.pj-delivery-address-bar #pj-delivery-plz {
	min-height: 2.35rem !important;
	height: 2.35rem !important;
	padding: 0.3rem 0.4rem !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	font-size: 16px !important;
	line-height: 1.25 !important;
}

.pj-delivery-address-bar .pj-delivery-combobox__input:focus,
.pj-delivery-address-bar .pj-order-type-card__input--plz:focus,
.pj-delivery-address-bar #pj-delivery-plz:focus {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.pj-delivery-address-bar__search {
	min-height: 0 !important;
	align-items: center;
}

.pj-order-type-card--address-bar .pj-delivery-address-bar {
	padding: 1rem 1rem 1.05rem;
	margin-bottom: 0.55rem;
}

.pj-order-type-card--address-bar .pj-delivery-address-bar__prompt {
	margin: 0 0 0.55rem;
}

.pj-order-type-card--address-bar .pj-delivery-address-bar__title {
	font-size: clamp(1.1rem, 2.2vw, 1.35rem);
}

.pj-order-type-card--address-bar .pj-delivery-address-bar__search {
	min-height: 0 !important;
	padding: 0.3rem 0.35rem 0.3rem 0.4rem;
	gap: 0.3rem;
}

/*
 * PIZZA-JULIE-DAB-COMPACT-PLZ-02
 * One compact white bar: [pin][PLZ][Lieferung] — no tall empty white stack.
 * Scoped to address-bar only (home / order-type / menu).
 */
.pj-delivery-address-bar__search {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.3rem !important;
	min-height: 0 !important;
	padding: 0.28rem 0.3rem 0.28rem 0.35rem !important;
}

.pj-delivery-address-bar__pin {
	flex: 0 0 auto !important;
	align-self: center !important;
	width: 2.1rem !important;
	height: 2.1rem !important;
}

.pj-delivery-address-bar__field,
.pj-delivery-address-bar .pj-home-order-panel__plz-wrap,
.pj-delivery-address-bar .pj-delivery-combobox {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0 !important;
}

.pj-delivery-address-bar__action,
.pj-delivery-address-bar #pj-delivery-check {
	flex: 0 0 auto !important;
	align-self: center !important;
	width: auto !important;
	min-width: 5.75rem !important;
	max-width: none !important;
	min-height: 2.35rem !important;
	height: 2.35rem !important;
	padding: 0.3rem 0.7rem !important;
}

#pj-home-order-panel .pj-delivery-address-bar .pj-home-order-panel__plz-wrap,
#pj-home-order-panel .pj-delivery-address-bar .pj-delivery-combobox,
#pj-order-menu-panel .pj-delivery-address-bar .pj-home-order-panel__plz-wrap,
#pj-order-menu-panel .pj-delivery-address-bar .pj-delivery-combobox {
	width: auto !important;
	max-width: none !important;
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-plz,
#pj-home-order-panel .pj-delivery-address-bar .pj-home-order-panel__plz,
#pj-home-order-panel .pj-delivery-address-bar .pj-delivery-combobox__input,
#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-plz,
#pj-order-menu-panel .pj-delivery-address-bar .pj-delivery-combobox__input {
	height: 2.35rem !important;
	min-height: 2.35rem !important;
	padding: 0.3rem 0.35rem !important;
	font-size: 16px !important;
}

#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-check,
#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-check,
.pj-order-type-card--address-bar .pj-delivery-address-bar #pj-delivery-check {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 5.75rem !important;
	max-width: none !important;
	min-height: 2.35rem !important;
	height: 2.35rem !important;
	padding: 0.3rem 0.7rem !important;
}

#pj-home-order-panel .pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-time,
#pj-order-menu-panel .pj-delivery-address-bar #pj-delivery-check .pj-home-order-panel__btn-time {
	display: none !important;
}

@media (max-width: 640px) {
	.pj-delivery-address-bar {
		padding: 0.95rem 0.9rem 1rem !important;
	}

	.pj-delivery-address-bar__prompt {
		margin: 0 0 0.55rem !important;
	}

	.pj-delivery-address-bar__search {
		flex-wrap: nowrap !important;
		padding: 0.28rem 0.3rem !important;
		gap: 0.28rem !important;
	}

	.pj-delivery-address-bar__field,
	.pj-delivery-address-bar .pj-delivery-combobox {
		flex: 1 1 0 !important;
		width: auto !important;
		min-width: 0 !important;
	}

	.pj-delivery-address-bar__action,
	.pj-delivery-address-bar #pj-delivery-check {
		flex: 0 0 auto !important;
		width: auto !important;
		min-width: 5.5rem !important;
		min-height: 2.35rem !important;
		height: 2.35rem !important;
	}

	.pj-order-type-card--address-bar .pj-delivery-address-bar {
		padding: 0.85rem 0.8rem 0.9rem;
	}
}
