/* ==========================================================================
   HivePress im Flohmarkt-Gewand
   Teil 1: Das Spaltenraster, das HivePress vom Theme erwartet (hp-row/hp-col-*).
   Teil 2: Optische Anpassung aller HivePress-Bausteine.
   ========================================================================== */

.hp-row {
	display: flex;
	flex-wrap: wrap;
	margin-left: calc(var(--ff-gap) / -2);
	margin-right: calc(var(--ff-gap) / -2);
}

[class*="hp-col-"] {
	position: relative;
	width: 100%;
	min-width: 0;
	padding-left: calc(var(--ff-gap) / 2);
	padding-right: calc(var(--ff-gap) / 2);
}

.hp-col-xs-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.hp-col-xs-offset-1 { margin-left: 8.333333%; }
.hp-col-xs-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.hp-col-xs-offset-2 { margin-left: 16.666667%; }
.hp-col-xs-3 { flex: 0 0 25%; max-width: 25%; }
.hp-col-xs-offset-3 { margin-left: 25%; }
.hp-col-xs-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.hp-col-xs-offset-4 { margin-left: 33.333333%; }
.hp-col-xs-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.hp-col-xs-offset-5 { margin-left: 41.666667%; }
.hp-col-xs-6 { flex: 0 0 50%; max-width: 50%; }
.hp-col-xs-offset-6 { margin-left: 50%; }
.hp-col-xs-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.hp-col-xs-offset-7 { margin-left: 58.333333%; }
.hp-col-xs-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.hp-col-xs-offset-8 { margin-left: 66.666667%; }
.hp-col-xs-9 { flex: 0 0 75%; max-width: 75%; }
.hp-col-xs-offset-9 { margin-left: 75%; }
.hp-col-xs-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.hp-col-xs-offset-10 { margin-left: 83.333333%; }
.hp-col-xs-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.hp-col-xs-offset-11 { margin-left: 91.666667%; }
.hp-col-xs-12 { flex: 0 0 100%; max-width: 100%; }
.hp-col-xs-offset-12 { margin-left: 100%; }
.hp-col-xs-offset-0 { margin-left: 0; }

@media (min-width: 768px) {
	.hp-col-sm-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.hp-col-sm-offset-1 { margin-left: 8.333333%; }
	.hp-col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.hp-col-sm-offset-2 { margin-left: 16.666667%; }
	.hp-col-sm-3 { flex: 0 0 25%; max-width: 25%; }
	.hp-col-sm-offset-3 { margin-left: 25%; }
	.hp-col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.hp-col-sm-offset-4 { margin-left: 33.333333%; }
	.hp-col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.hp-col-sm-offset-5 { margin-left: 41.666667%; }
	.hp-col-sm-6 { flex: 0 0 50%; max-width: 50%; }
	.hp-col-sm-offset-6 { margin-left: 50%; }
	.hp-col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.hp-col-sm-offset-7 { margin-left: 58.333333%; }
	.hp-col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.hp-col-sm-offset-8 { margin-left: 66.666667%; }
	.hp-col-sm-9 { flex: 0 0 75%; max-width: 75%; }
	.hp-col-sm-offset-9 { margin-left: 75%; }
	.hp-col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.hp-col-sm-offset-10 { margin-left: 83.333333%; }
	.hp-col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.hp-col-sm-offset-11 { margin-left: 91.666667%; }
	.hp-col-sm-12 { flex: 0 0 100%; max-width: 100%; }
	.hp-col-sm-offset-12 { margin-left: 100%; }
	.hp-col-sm-offset-0 { margin-left: 0; }
}

@media (min-width: 992px) {
	.hp-col-md-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.hp-col-md-offset-1 { margin-left: 8.333333%; }
	.hp-col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.hp-col-md-offset-2 { margin-left: 16.666667%; }
	.hp-col-md-3 { flex: 0 0 25%; max-width: 25%; }
	.hp-col-md-offset-3 { margin-left: 25%; }
	.hp-col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.hp-col-md-offset-4 { margin-left: 33.333333%; }
	.hp-col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.hp-col-md-offset-5 { margin-left: 41.666667%; }
	.hp-col-md-6 { flex: 0 0 50%; max-width: 50%; }
	.hp-col-md-offset-6 { margin-left: 50%; }
	.hp-col-md-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.hp-col-md-offset-7 { margin-left: 58.333333%; }
	.hp-col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.hp-col-md-offset-8 { margin-left: 66.666667%; }
	.hp-col-md-9 { flex: 0 0 75%; max-width: 75%; }
	.hp-col-md-offset-9 { margin-left: 75%; }
	.hp-col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.hp-col-md-offset-10 { margin-left: 83.333333%; }
	.hp-col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.hp-col-md-offset-11 { margin-left: 91.666667%; }
	.hp-col-md-12 { flex: 0 0 100%; max-width: 100%; }
	.hp-col-md-offset-12 { margin-left: 100%; }
	.hp-col-md-offset-0 { margin-left: 0; }
}

@media (min-width: 1200px) {
	.hp-col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
	.hp-col-lg-offset-1 { margin-left: 8.333333%; }
	.hp-col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
	.hp-col-lg-offset-2 { margin-left: 16.666667%; }
	.hp-col-lg-3 { flex: 0 0 25%; max-width: 25%; }
	.hp-col-lg-offset-3 { margin-left: 25%; }
	.hp-col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
	.hp-col-lg-offset-4 { margin-left: 33.333333%; }
	.hp-col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
	.hp-col-lg-offset-5 { margin-left: 41.666667%; }
	.hp-col-lg-6 { flex: 0 0 50%; max-width: 50%; }
	.hp-col-lg-offset-6 { margin-left: 50%; }
	.hp-col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
	.hp-col-lg-offset-7 { margin-left: 58.333333%; }
	.hp-col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
	.hp-col-lg-offset-8 { margin-left: 66.666667%; }
	.hp-col-lg-9 { flex: 0 0 75%; max-width: 75%; }
	.hp-col-lg-offset-9 { margin-left: 75%; }
	.hp-col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
	.hp-col-lg-offset-10 { margin-left: 83.333333%; }
	.hp-col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
	.hp-col-lg-offset-11 { margin-left: 91.666667%; }
	.hp-col-lg-12 { flex: 0 0 100%; max-width: 100%; }
	.hp-col-lg-offset-12 { margin-left: 100%; }
	.hp-col-lg-offset-0 { margin-left: 0; }
}


/* --------------------------------------------------------------------------
   Seitenrahmen
   -------------------------------------------------------------------------- */

.ff-hp-page { padding-top: .5rem; }

.hp-page__title,
.ff-hivepress .entry-title {
	font-family: var(--ff-font-poster);
	font-weight: 400;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	margin-bottom: 1.2rem;
}

.hp-page__description { color: var(--ff-ink-soft); }

.hp-page__topbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: .8rem 1rem;
	margin-bottom: 1.6rem;
	background: var(--ff-kraft);
	border: 2px solid var(--ff-ink);
	box-shadow: var(--ff-shadow-sm);
	font-family: var(--ff-font-display);
	letter-spacing: .04em;
}

.hp-page__sidebar { margin-bottom: 2rem; }

.hp-menu--breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	font-size: .85rem;
	color: var(--ff-ink-faint);
}
.hp-menu--breadcrumb .hp-menu__item:not(:last-child)::after {
	content: '›';
	margin-left: .45rem;
	color: var(--ff-line);
}
.hp-menu--breadcrumb a { color: var(--ff-ink-faint); text-decoration: none; }
.hp-menu--breadcrumb a:hover { color: var(--ff-rust); }

/* --------------------------------------------------------------------------
   Kopfzeilen-Menü von HivePress
   -------------------------------------------------------------------------- */

.ff-header__hp { display: flex; align-items: center; }

.hp-menu--site-header {
	display: flex;
	align-items: center;
	gap: .9rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.hp-menu--site-header > .hp-menu__item > a,
.hp-menu--site-header a {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: var(--ff-paper);
	text-decoration: none;
	font-family: var(--ff-font-display);
	font-size: .95rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
}

.hp-menu--site-header .hp-menu__item--listing-submit a {
	background: var(--ff-mustard);
	color: var(--ff-ink);
	border: 2px solid var(--ff-ink);
	border-radius: var(--ff-radius);
	box-shadow: var(--ff-shadow-sm);
	padding: .5rem 1rem;
	font-weight: 600;
}
.hp-menu--site-header .hp-menu__item--listing-submit a:hover {
	background: var(--ff-paper);
	transform: translate(-1px, -1px);
}

/* Konto-/Login-Eintrag, den HivePress ins Hauptmenü einhängt */
.ff-nav__list .menu-item--user-login a,
.ff-nav__list .menu-item--user-account a { color: var(--ff-mustard); }

.hp-menu--tabbed,
.hp-menu--user-account {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	list-style: none;
	margin: 0 0 1.6rem;
	padding: 0 0 .8rem;
	border-bottom: 2px dashed var(--ff-line);
}
.hp-menu--tabbed a,
.hp-menu--user-account a {
	display: inline-block;
	padding: .5rem .9rem;
	background: var(--ff-paper);
	border: 2px solid var(--ff-ink);
	color: var(--ff-ink);
	text-decoration: none;
	font-family: var(--ff-font-display);
	font-size: .9rem;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.hp-menu--tabbed .hp-menu__item--current a,
.hp-menu--user-account .hp-menu__item--current a,
.hp-menu--tabbed a:hover { background: var(--ff-mustard); }

/* --------------------------------------------------------------------------
   Inserate: Karte
   -------------------------------------------------------------------------- */

.hp-grid { list-style: none; }
.hp-grid__item { margin-bottom: var(--ff-gap); display: flex; }

.hp-listing--view-block {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: var(--ff-paper);
	background-image: var(--ff-noise);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow);
	overflow: hidden;
	transition: transform .15s ease, box-shadow .15s ease;
}
.hp-listing--view-block:hover {
	transform: translateY(-4px) rotate(-.3deg);
	box-shadow: 7px 8px 0 rgba(36, 31, 27, .18);
}

.hp-listing--view-block .hp-listing__header {
	position: relative;
	border-bottom: 2px solid var(--ff-ink);
	background: var(--ff-kraft);
}
.hp-listing--view-block .hp-listing__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.hp-listing--view-block .hp-listing__image--placeholder,
.hp-listing__image:empty {
	display: block;
	aspect-ratio: 4 / 3;
	background: repeating-linear-gradient(45deg, var(--ff-kraft) 0 12px, var(--ff-kraft-dark) 12px 24px);
}

.hp-listing--view-block .hp-listing__content { padding: 1rem 1.15rem .3rem; }
.hp-listing--view-block .hp-listing__footer { padding: 0 1.15rem 1.1rem; margin-top: auto; }

.hp-listing__title {
	margin: 0 0 .35rem;
	font-size: 1.12rem;
	line-height: 1.25;
}
.hp-listing__title a { color: var(--ff-ink); text-decoration: none; }
.hp-listing__title a:hover { color: var(--ff-rust); }

.hp-listing__details {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .8rem;
	list-style: none;
	margin: 0 0 .6rem;
	padding: 0;
	font-size: .82rem;
	color: var(--ff-ink-faint);
}
.hp-listing__details a { color: var(--ff-ink-faint); text-decoration: none; }
.hp-listing__details a:hover { color: var(--ff-rust); }

.hp-listing__attributes {
	list-style: none;
	margin: 0 0 .7rem;
	padding: 0;
	font-size: .93rem;
}
.hp-listing__attribute { margin-bottom: .2rem; }

/* Der Preis wird als Preisschild dargestellt. */
.hp-listing__attribute--price,
.hp-listing__attribute--preis {
	display: inline-block;
	position: relative;
	margin: .2rem 0 .5rem;
	padding: .38rem .9rem .38rem 1.5rem;
	background: var(--ff-mustard);
	border: 2px solid var(--ff-ink);
	font-family: var(--ff-font-display);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: .03em;
	clip-path: polygon(14px 0, 100% 0, 100% 100%, 14px 100%, 0 50%);
}
.hp-listing__attribute--price::before,
.hp-listing__attribute--preis::before {
	content: '';
	position: absolute;
	left: 15px; top: 50%;
	width: 7px; height: 7px;
	margin-top: -3.5px;
	background: var(--ff-paper);
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px var(--ff-ink);
}

.hp-listing__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.hp-listing__actions--secondary {
	position: absolute;
	top: .6rem; right: .6rem;
	z-index: 3;
}
.hp-listing--view-block .hp-listing__action--favorite {
	display: grid;
	place-items: center;
	width: 38px; height: 38px;
	background: var(--ff-paper);
	border: 2px solid var(--ff-ink);
	border-radius: 50%;
	color: var(--ff-rust);
	text-decoration: none;
}
.hp-listing--view-block .hp-listing__action--favorite:hover { background: var(--ff-mustard); }
.hp-listing--view-block .hp-listing__action--favorite span { display: none; }

/* Stempel „Fundstück“ statt Sternchen */
.ff-featured {
	position: absolute;
	top: .7rem; left: -.4rem;
	z-index: 3;
	padding: .28rem .8rem;
	background: var(--ff-rust);
	color: var(--ff-paper);
	border: 2px solid var(--ff-ink);
	font-family: var(--ff-font-display);
	font-size: .74rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	transform: rotate(-4deg);
	box-shadow: var(--ff-shadow-sm);
}

.hp-listing__verified-badge { color: var(--ff-forest); }

.hp-listing__status,
.hp-status {
	display: inline-block;
	padding: .18rem .6rem;
	border: 1.5px solid currentColor;
	border-radius: 2px;
	font-family: var(--ff-font-display);
	font-size: .72rem;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.hp-status--draft, .hp-status--pending { color: var(--ff-mustard); }
.hp-status--expired, .hp-status--trash { color: var(--ff-ink-faint); }

/* --------------------------------------------------------------------------
   Inserate: Einzelansicht
   -------------------------------------------------------------------------- */

.hp-listing--view-page {
	background: var(--ff-paper);
	background-image: var(--ff-noise);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow);
	padding: clamp(1.2rem, 3vw, 2rem);
}

.hp-listing--view-page .hp-listing__images { margin-bottom: 1.4rem; border: 2px solid var(--ff-ink); }
.hp-listing--view-page .hp-listing__title { font-family: var(--ff-font-poster); font-weight: 400; font-size: clamp(1.6rem, 3.4vw, 2.3rem); }
.hp-listing--view-page .hp-listing__description { font-size: 1.02rem; }
.hp-listing--view-page .hp-listing__attributes--primary { font-size: 1.05rem; }

.hp-listing--view-page .hp-listing__attributes--secondary,
.hp-listing--view-page .hp-listing__attributes--ternary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: .4rem 1.2rem;
	padding: 1rem;
	margin: 1.2rem 0;
	background: var(--ff-paper-warm);
	border: 1px dashed var(--ff-line);
}

/* --------------------------------------------------------------------------
   Kategorien & Anbieter
   -------------------------------------------------------------------------- */

.hp-listing-category--view-block {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--ff-paper);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow-sm);
	padding: 1.1rem 1.2rem;
	text-align: center;
	transition: transform .15s ease;
}
.hp-listing-category--view-block:hover { transform: rotate(.5deg) translateY(-3px); }
.hp-listing-category__name { font-family: var(--ff-font-display); font-size: 1.08rem; margin: .6rem 0 .2rem; }
.hp-listing-category__name a { color: var(--ff-ink); text-decoration: none; }
.hp-listing-category__count { font-size: .82rem; color: var(--ff-ink-faint); }
.hp-listing-category__image img { border: 2px solid var(--ff-ink); }

.hp-vendor--view-block,
.hp-vendor--view-page {
	background: var(--ff-paper);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow-sm);
	padding: 1.2rem;
}
.hp-vendor__image img { border-radius: 50%; border: 2px solid var(--ff-ink); }
.hp-vendor__name { font-family: var(--ff-font-display); }

/* --------------------------------------------------------------------------
   Formulare
   -------------------------------------------------------------------------- */

.hp-form__label,
.hp-field__label {
	display: block;
	font-family: var(--ff-font-display);
	font-size: .88rem;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--ff-ink-soft);
	margin-bottom: .3rem;
}

.hp-form input[type="text"],
.hp-form input[type="email"],
.hp-form input[type="password"],
.hp-form input[type="number"],
.hp-form input[type="search"],
.hp-form input[type="url"],
.hp-form input[type="tel"],
.hp-form input[type="date"],
.hp-form select,
.hp-form textarea,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
	width: 100%;
	padding: .68rem .85rem;
	background: var(--ff-paper);
	border: 2px solid var(--ff-ink) !important;
	border-radius: var(--ff-radius) !important;
	font: inherit;
	color: var(--ff-ink);
	min-height: 48px;
}
.hp-form textarea { min-height: 140px; }

.hp-form input:focus,
.hp-form select:focus,
.hp-form textarea:focus {
	outline: 3px solid var(--ff-sky);
	outline-offset: 1px;
}

.hp-form__field { margin-bottom: 1.1rem; }
.hp-form__description,
.hp-field__description { font-size: .84rem; color: var(--ff-ink-faint); margin-top: .3rem; }

.hp-form__button,
.hp-form button[type="submit"],
.hp-form input[type="submit"],
button.hp-button,
a.hp-button {
	display: inline-block;
	padding: .78rem 1.5rem;
	background: var(--ff-rust);
	color: var(--ff-paper);
	border: var(--ff-border);
	border-radius: var(--ff-radius);
	box-shadow: var(--ff-shadow-sm);
	font-family: var(--ff-font-display);
	font-size: .98rem;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: transform .12s ease;
}
.hp-form__button:hover,
button.hp-button:hover,
a.hp-button:hover { background: var(--ff-rust-dark); color: var(--ff-paper); transform: translate(-2px, -2px); }

.hp-button--wide, .hp-button--block { display: block; width: 100%; text-align: center; }

.hp-form__messages {
	padding: .9rem 1.1rem;
	margin-bottom: 1.2rem;
	background: var(--ff-forest);
	color: var(--ff-paper);
	border: 2px solid var(--ff-ink);
}
.hp-form__messages--error { background: var(--ff-rust); }

.hp-form--primary {
	background: var(--ff-paper);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow);
	padding: clamp(1.2rem, 3vw, 2rem);
}

/* Suchformular auf der Startseite */
.ff-hero__search .hp-form {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	align-items: stretch;
	background: var(--ff-paper);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow);
	padding: .6rem;
}
.ff-hero__search .hp-form__fields {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	gap: .6rem;
	min-width: 0;
	margin: 0;
}
.ff-hero__search .hp-form__field { flex: 1 1 190px; margin: 0; }
.ff-hero__search .hp-form__label { display: none; }
.ff-hero__search .hp-form__button { flex: none; }
.ff-hero__search input,
.ff-hero__search select { border-width: 1.5px !important; }

/* --------------------------------------------------------------------------
   Widgets, Filter, Blättern
   -------------------------------------------------------------------------- */

.hp-widget {
	background: var(--ff-paper);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow-sm);
	padding: 1.2rem 1.3rem;
	margin-bottom: 1.6rem;
}
.hp-widget .widget-title,
.hp-widget h2, .hp-widget h3 {
	margin: 0 0 .9rem;
	padding-bottom: .4rem;
	font-size: 1.02rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	border-bottom: 2px dashed var(--ff-line);
}

.hp-button--listing-filter,
.hp-button--vendor-filter {
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 1rem;
}

.hp-pagination .page-numbers { font-family: var(--ff-font-display); }

.hp-block__placeholder,
.hp-image--placeholder {
	background: repeating-linear-gradient(45deg, var(--ff-kraft) 0 12px, var(--ff-kraft-dark) 12px 24px);
	border: 1px dashed var(--ff-line);
}

.hp-map { border: var(--ff-border); box-shadow: var(--ff-shadow-sm); }

.hp-text--secondary { color: var(--ff-ink-faint); }

.hp-tooltip__text {
	background: var(--ff-ink);
	color: var(--ff-paper);
	border-radius: var(--ff-radius);
	font-size: .82rem;
}

/* Modale Fenster (Login, Nachricht schreiben) */
.hp-modal .hp-form,
.fancybox-content {
	background: var(--ff-paper) !important;
	border: var(--ff-border);
	box-shadow: var(--ff-shadow);
}

@media (max-width: 767px) {
	.hp-menu--site-header { gap: .55rem; }
	.hp-menu--site-header .hp-menu__item--listing-submit a { padding: .45rem .8rem; font-size: .85rem; }
	.ff-hero__search .hp-form { flex-direction: column; }
}

/* --------------------------------------------------------------------------
   Nachjustierung nach dem ersten Sichttest
   -------------------------------------------------------------------------- */

/* Die Aktionsleiste schwebt nur auf der Kachel, nicht auf der Detailseite. */
.hp-listing__actions--secondary { position: static; }
.hp-listing--view-block .hp-listing__actions--secondary {
	position: absolute;
	top: .6rem;
	right: .6rem;
	z-index: 4;
}
.hp-listing--view-page .hp-page__topbar .hp-listing__actions--secondary {
	display: flex;
	gap: .8rem;
	align-items: center;
}

/* Der „Fundstück“-Stempel ersetzt das runde Standard-Abzeichen. */
.hp-listing__featured-badge.ff-featured {
	position: absolute;
	top: .7rem;
	left: .7rem;
	width: auto;
	height: auto;
	border-radius: 0;
	background: var(--ff-rust);
	color: var(--ff-paper);
	line-height: 1.4;
}
.hp-listing__featured-badge.ff-featured::before,
.hp-listing__featured-badge.ff-featured::after { content: none; }

/* Karten dürfen den Stempel nicht abschneiden. */
.hp-listing--view-block { overflow: visible; }
.hp-listing--view-block .hp-listing__header { overflow: hidden; }

/* Kennzahlen der Anzeige als ein zusammenhängender Zettel. */
.hp-listing--view-page .hp-listing__attributes--primary {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.hp-listing--view-page .hp-listing__attributes--primary .hp-listing__attribute {
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	font-size: 1.02rem;
}

/* Suchformular über der Übersicht kompakter. */
.hp-page__content > .hp-form--primary,
.hp-form--primary.hp-form--listing-search {
	padding: .7rem;
	display: flex;
	gap: .6rem;
	align-items: stretch;
	flex-wrap: wrap;
}
.hp-form--listing-search .hp-form__fields { display: flex; flex: 1; gap: .6rem; flex-wrap: wrap; min-width: 0; margin: 0; }
.hp-form--listing-search .hp-form__field { flex: 1 1 200px; margin: 0; }
.hp-form--listing-search .hp-form__label { display: none; }

/* Mehrfachauswahl nicht künstlich hoch ziehen. */
.hp-form select[multiple] { min-height: 0; height: auto; padding: .4rem; }

/* Reihenfolge im Kartenkopf: Bild unter den Stempeln. */
.hp-listing--view-block .hp-listing__header { position: relative; }

/* Mehrfachauswahl (select2) auf normale Höhe bringen. */
.select2-container--default .select2-selection--multiple { min-height: 48px; padding: .2rem .35rem; }
.select2-container--default .select2-selection--multiple .select2-selection__rendered { padding: 0; }
.select2-container--default .select2-selection__choice {
	background: var(--ff-mustard);
	border: 1px solid var(--ff-ink);
	border-radius: 2px;
	color: var(--ff-ink);
}
.select2-dropdown { border: 2px solid var(--ff-ink) !important; border-radius: 0 !important; }

/* Aktionen in der Kopfleiste der Anzeigenseite als Schaltflächen. */
.hp-listing--view-page .hp-page__topbar .hp-listing__actions {
	flex-wrap: wrap;
	justify-content: flex-end;
}
.hp-listing--view-page .hp-listing__action--favorite {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .45rem .9rem;
	background: var(--ff-paper);
	border: 2px solid var(--ff-ink);
	border-radius: var(--ff-radius);
	box-shadow: var(--ff-shadow-sm);
	color: var(--ff-rust);
	font-family: var(--ff-font-display);
	font-size: .85rem;
	letter-spacing: .05em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.hp-listing--view-page .hp-listing__action--favorite:hover { background: var(--ff-mustard); color: var(--ff-ink); }

/* Der Preis bleibt auch in der Seitenleiste ein Preisschild. */
.hp-listing--view-page .hp-listing__attributes--primary .hp-listing__attribute--preis {
	align-self: flex-start;
	padding: .42rem 1rem .42rem 1.6rem;
	background: var(--ff-mustard);
	border: 2px solid var(--ff-ink);
	font-family: var(--ff-font-display);
	font-weight: 700;
	font-size: 1.25rem;
	clip-path: polygon(16px 0, 100% 0, 100% 100%, 16px 100%, 0 50%);
}
.hp-listing--view-page .hp-listing__attributes--primary .hp-listing__attribute--preis::before {
	content: '';
	position: absolute;
	left: 17px; top: 50%;
	width: 8px; height: 8px;
	margin-top: -4px;
	background: var(--ff-paper);
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px var(--ff-ink);
}
.hp-listing--view-page .hp-listing__attributes--primary .hp-listing__attribute { position: relative; }

/* --------------------------------------------------------------------------
   HivePress-Seiten ohne eigenen Container (Formulare, Konto)
   -------------------------------------------------------------------------- */

.ff-content > .content-area {
	width: min(100% - 2.5rem, var(--ff-wrap));
	margin-inline: auto;
	padding-top: 2rem;
}

/* Seiten ohne Seitenleiste (z. B. „Anzeige aufgeben“) lesbar schmal halten. */
.content-area .hp-page:not(:has(.hp-page__sidebar)) > .hp-page__content {
	max-width: 820px;
	margin-inline: auto;
}

.hp-form--listing-submit,
.hp-form--listing-update {
	background: var(--ff-paper);
	border: var(--ff-border);
	box-shadow: var(--ff-shadow);
	padding: clamp(1.2rem, 3vw, 2rem);
}

/* „Anzeige aufgeben“ in der Kopfzeile ist bei HivePress ein <button>. */
.hp-menu--site-header .hp-menu__item--listing-submit {
	display: inline-flex;
	align-items: center;
	padding: .5rem 1rem;
	background: var(--ff-mustard);
	color: var(--ff-ink);
	border: 2px solid var(--ff-ink);
	border-radius: var(--ff-radius);
	box-shadow: var(--ff-shadow-sm);
	font-family: var(--ff-font-display);
	font-size: .95rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition: transform .12s ease;
}
.hp-menu--site-header .hp-menu__item--listing-submit:hover {
	background: var(--ff-paper);
	transform: translate(-1px, -1px);
}

@media (max-width: 767px) {
	.hp-menu--site-header .hp-menu__item--listing-submit { padding: .45rem .8rem; font-size: .85rem; }
}

/* Preiszeile in Karten: Schild, Einheit und Verfügbarkeit umbrechen sauber. */
.hp-listing--view-block .hp-listing__attributes--primary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem .6rem;
}
.hp-listing--view-block .hp-listing__attributes--primary .hp-listing__attribute { margin: 0; }
.hp-listing__attribute--preis,
.hp-listing__attribute--einheit,
.hp-listing__attribute--verfuegbarkeit { white-space: nowrap; }

/* Knöpfe, die HivePress und seine Erweiterungen als <button class="button"> ausgeben. */
.hp-listing button.button,
.hp-vendor button.button,
.hp-form .hp-field__button,
.hp-field--attachment-upload button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	width: auto;
	padding: .55rem 1rem;
	background: var(--ff-paper);
	color: var(--ff-ink);
	border: 2px solid var(--ff-ink);
	border-radius: var(--ff-radius);
	box-shadow: var(--ff-shadow-sm);
	font-family: var(--ff-font-display);
	font-size: .85rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	cursor: pointer;
}
.hp-listing button.button--primary,
.hp-vendor button.button--primary {
	width: 100%;
	background: var(--ff-rust);
	color: var(--ff-paper);
}
.hp-listing button.button:hover,
.hp-vendor button.button:hover,
.hp-form .hp-field__button:hover { background: var(--ff-mustard); color: var(--ff-ink); }

/* Versteckte HivePress-Felder (Kategorie, Beitragstyp) nehmen keinen Platz ein. */
.hp-form .hp-field--hidden,
.hp-form select.hp-field--hidden + .select2 { display: none !important; }

@media (max-width: 767px) {
	.ff-hero__search .hp-form__fields,
	.hp-form--listing-search .hp-form__fields,
	.hp-form--vendor-search .hp-form__fields { flex: none; }
}

@media (max-width: 767px) {
	/* Untereinander angeordnet: die Grundbreite darf nicht zur Höhe werden. */
	.ff-hero__search .hp-form__field,
	.hp-form--listing-search .hp-form__field,
	.hp-form--vendor-search .hp-form__field { flex: 0 0 auto; }
}
