/* ============================================================
   SEARCH PAGE V5 — "Swiss Clean"
   Scoped to body#search. Loaded after style.css on search page.
   ============================================================ */

body#search {
  --v5-brand: #2e6aad;
  --v5-text: #0d0d0d;
  --v5-muted: #7a7a7a;
  --v5-muted-2: #666;
  --v5-placeholder: #b0b0b0;
  --v5-border: #e8e8e8;
  --v5-surface: #fafafa;
  --v5-surface-tint: #f0f4f8;
  --v5-tint-border: #d0dae4;
  --v5-overlay: rgba(0, 0, 0, 0.38);
  --v5-placeholder-img: #d9d9de;
  --v5-dark-bg: #0d0d0d;
  --v5-dark-border: #222;
  --v5-dark-input-border: #333;
  --v5-dark-muted: #555;

  --v5-font-head: 'Inter', system-ui, -apple-system, sans-serif;
  --v5-font-body: 'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  --v5-font-button: 'Rubik', system-ui, -apple-system, sans-serif;

  background: #fff;
  font-family: var(--v5-font-body);
  color: var(--v5-text);
}

/* Top brand accent strip */
body#search header::before {
  content: '';
  display: block;
  height: 3px;
  background: var(--v5-brand);
  position: relative;
  z-index: 9;
}

/* ============================================================
   HEADER — V5 (keeps all existing items, only restyles)
   ============================================================ */
body#search header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 8;
  background: #fff;
  backdrop-filter: none;
  box-shadow: none;
  border-bottom: 1px solid var(--v5-border);
  height: auto;
  min-height: 64px;
  transition: transform 0.25s ease;
  will-change: transform;
}
body#search header.header-hidden { transform: translateY(-100%); }
body#search header .container.cmain {
  max-width: 1440px;
  height: 64px;
  padding: 0 48px;
  display: flex;
  align-items: center;
  gap: 32px;
  margin: 0 auto;
}

/* Logo */
body#search header a.logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--v5-font-head);
  font-weight: 600;
  font-size: 18px;
  color: var(--v5-text);
  line-height: 1;
  flex-shrink: 0;
}
body#search header a.logo img {
  height: 40px;
  max-height: 44px;
  object-fit: contain;
  display: block;
}

/* Right-side links cluster */
body#search header .links {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 16px;
  margin-left: auto;
  max-width: none;
  overflow: visible;
  height: auto;
}

/* All header buttons: flat, no rounded, muted icon+label */
body#search header .links .btn-white,
body#search header .menu.btn-white,
body#search header .links .btn,
body#search header .cmain > .btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: auto;
  padding: 8px 4px;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-muted-2);
  white-space: nowrap;
  line-height: 1;
  position: relative;
}
body#search header .links .btn-white:hover,
body#search header .links .btn:hover {
  color: var(--v5-text);
}
body#search header .links .btn svg,
body#search header .menu.btn svg,
body#search header .cmain > .btn svg,
body#search header .links .btn-white svg,
body#search header .menu.btn-white svg {
  width: 18px;
  height: 18px;
  fill: var(--v5-muted-2);
  margin: 0;
  vertical-align: middle;
  flex-shrink: 0;
}
body#search header .links .btn-white:hover svg,
body#search header .menu.btn-white:hover svg {
  fill: var(--v5-text);
}

/* Counters (message/notification badges) — small brand dot */
body#search header .links .btn .counter {
  position: absolute;
  top: 2px;
  left: 10px;
  height: 16px;
  min-width: 16px;
  line-height: 16px;
  padding: 0 4px;
  background: var(--v5-brand);
  color: #fff;
  border-radius: 0;
  box-shadow: 0 0 0 2px #fff;
  font-family: var(--v5-font-body);
  font-size: 10px;
  font-weight: 600;
}

/* Divider between primary icons and secondary links */
body#search header .links .divider {
  width: 1px;
  height: 20px;
  margin: 0 4px;
  background: var(--v5-border);
  padding: 0;
}

/* Text-only secondary links (Companies / Forums / Blog / FAQ) */
body#search header .links .btn.noicon {
  padding: 8px 4px;
  font-weight: 400;
}

/* Account dropdown (logged-in) — flat, no outline pill */
body#search header .account-dropdown {
  margin-left: 0;
}
body#search header .account-dropdown > a.account {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 4px;
  border: none;
  background: transparent;
  color: var(--v5-text);
  font-size: 13px;
}
body#search header .account-dropdown > a.account img {
  width: 24px;
  height: 24px;
  border-radius: 100px;
  box-shadow: none;
  margin: 0;
}
body#search header .account-dropdown > a.account .arrow {
  width: 10px;
  height: 10px;
  fill: var(--v5-muted);
}

/* Domain switcher — flag pill, placed right after the logo via flex order.
   Logo is order 0 (default), flag is 1, links/account/publish are 2+. */
body#search header .cmain > a.logo { order: 0; }
body#search header a.domain-switch { order: 1; }
body#search header .cmain > .links { order: 2; margin-left: auto; }
body#search header .cmain > .account-dropdown { order: 3; }
body#search header .cmain > a.publish.btn { order: 4; }

body#search header a.domain-switch {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--v5-border);
  background: #fff;
  color: var(--v5-text);
  font-size: 12px;
  font-weight: 600;
  font-family: var(--v5-font-head);
}
body#search header a.domain-switch img.ds-header-flag {
  width: 18px;
  height: 12px;
  object-fit: cover;
  border: 1px solid var(--v5-border);
  margin: 0;
}
body#search header a.domain-switch::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='%230d0d0d' d='M2 4l4 4 4-4'/></svg>") no-repeat center;
  background-size: 10px;
}

/* Primary CTA: "Anzeige aufgeben" */
body#search header a.publish.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: auto;
  padding: 10px 24px;
  background: var(--v5-brand);
  border: none;
  border-radius: 0;
  box-shadow: none;
  font-family: var(--v5-font-button);
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  text-transform: none;
  letter-spacing: 0;
  line-height: 1;
  margin-left: 0;
  flex-shrink: 0;
}
body#search header a.publish.btn:hover { opacity: 0.9; }
body#search header a.publish.btn svg {
  width: 14px;
  height: 14px;
  fill: #fff;
  margin: 0;
  vertical-align: middle;
}

/* Mobile-only shortcuts inside the header — keep hidden on desktop */
body#search header .links .maccount,
body#search header .links .search,
body#search header .cmain > .publish.mini,
body#search header .cmain > a.menu.isMobile { display: none; }

/* Avatar on mobile account button (if visible) */
body#search header .links .btn.account img {
  width: 24px;
  height: 24px;
  border-radius: 100px;
  margin: 0 4px 0 0;
}

/* Push body content down for fixed header (3px strip + 64px nav) */
body#search { padding-top: 67px; }

/* Breadcrumbs must clear the fixed header too */
body#search #breadcrumbs { margin-top: 0; }

/* The alt containers (mobile search / item preview) — keep hidden */
body#search header .container.alt { display: none; }

/* ============================================================
   FOOTER — V5 (dark, preserves all existing columns/links)
   ============================================================ */

/* Promo strip above the footer: keep but restyle flat */
body#search section.promo {
  background: var(--v5-brand);
  background-image: none;
  color: #fff;
  font-family: var(--v5-font-body);
  font-size: 14px;
  padding: 16px 0;
  box-shadow: none;
}
body#search section.promo .container {
  max-width: 1440px;
  padding: 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}
body#search section.promo .btn,
body#search section.promo .btn-transparent {
  display: inline-flex;
  align-items: center;
  padding: 8px 20px;
  background: #fff;
  border: none;
  border-radius: 0;
  color: var(--v5-brand);
  font-family: var(--v5-font-button);
  font-weight: 500;
  font-size: 13px;
  margin: 0;
  line-height: 1;
}

body#search footer {
  background: var(--v5-dark-bg);
  color: #fff;
  padding: 48px 0 32px;
  font-family: var(--v5-font-body);
  font-size: 13px;
  line-height: 1.5;
  width: 100%;
}
body#search footer > .container {
  max-width: 1440px;
  padding: 0 48px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

/* Columns row */
body#search footer section.one {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 40px;
  padding: 0;
  margin: 0;
}
body#search footer .col {
  flex: 1 1 0;
  min-width: 160px;
  padding: 0;
  margin: 0;
}
body#search footer .col h4 {
  font-family: var(--v5-font-head);
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  margin: 0 0 20px;
  padding-bottom: 12px;
  position: relative;
  letter-spacing: 0.01em;
}
body#search footer .col h4::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 20px;
  height: 2px;
  background: var(--v5-brand);
}

/* Column links */
body#search footer .col a {
  display: block;
  margin: 0 0 14px;
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-muted);
  text-decoration: none;
  background: transparent;
  padding: 0;
  border: none;
  line-height: 1.4;
}
body#search footer .col a:hover {
  color: #fff;
  text-decoration: none;
}

/* About us column — logo + company info */
body#search footer .col.contact p {
  margin: 0 0 8px;
  color: var(--v5-muted);
  font-size: 13px;
}
body#search footer .col.contact p.logo img {
  max-height: 32px;
  margin: 0 0 12px;
  padding: 0;
  border: none;
  border-radius: 0;
  filter: none;
  box-shadow: none;
  background: transparent;
}
body#search footer .col.contact p.company strong { color: #fff; font-weight: 600; }

/* Quick-links chips — dark theme */
body#search footer .quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 12px;
}
body#search footer .quick-links a {
  display: inline-flex;
  align-items: center;
  padding: 5px 10px;
  margin: 0;
  background: transparent;
  border: 1px solid var(--v5-dark-input-border);
  border-radius: 0;
  color: var(--v5-muted);
  font-family: var(--v5-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.2;
  float: none;
}
body#search footer .quick-links a:hover {
  border-color: var(--v5-muted);
  color: #fff;
}

/* Social media column */
body#search footer .col.socialx a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
}
body#search footer .col.socialx a i,
body#search footer .col.socialx a svg {
  width: 14px;
  height: 14px;
  font-size: 14px;
  line-height: 1;
  background: transparent;
  color: var(--v5-muted);
  fill: var(--v5-muted);
  border-radius: 0;
  vertical-align: middle;
}
body#search footer .col.socialx a:hover i,
body#search footer .col.socialx a:hover svg {
  color: #fff;
  fill: #fff;
}

/* Language / domain switcher in footer */
body#search footer .col.locale a.lang,
body#search footer .col.locale a.lang-switcher,
body#search footer .col.locale a.ds-footer-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
}
body#search footer .col.locale a.lang img,
body#search footer .col.locale a.lang-switcher img,
body#search footer .col.locale a.ds-footer-btn img {
  width: 18px;
  height: 12px;
  margin: 0;
  object-fit: cover;
  border-radius: 0;
  border: 1px solid var(--v5-dark-input-border);
  vertical-align: middle;
}
body#search footer .col.locale a.lang.active,
body#search footer .col.locale a.lang-switcher.active {
  color: #fff;
  font-weight: 600;
}

/* Bottom row: contact/cookies + copyright */
body#search footer section.two {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  padding: 24px 0 0;
  margin: 0;
  border-top: 1px solid var(--v5-dark-border);
  font-size: 11px;
}
body#search footer section.two a {
  display: inline-flex;
  margin: 0;
  padding: 0;
  color: var(--v5-dark-muted);
  font-size: 11px;
  font-weight: 400;
  font-family: var(--v5-font-body);
}
body#search footer section.two a:hover { color: #fff; }
body#search footer section.two span {
  margin-left: auto;
  color: var(--v5-dark-muted);
  font-family: var(--v5-font-body);
  font-size: 11px;
}

body#search footer .footer-hook,
body#search footer .footer-widgets { width: 100%; }

/* Cookie consent popup is rendered inside the dark footer; restore its own color */
body#search footer .ccp-pop { color: #333; }
body#search footer .ccp-pop strong.ccp-row { color: #000; }

/* Mobile nav bar — hide on desktop scope */
body#search #navi-bar.isMobile { display: none; }

/* ----- GLOBAL RESETS WITHIN SEARCH PAGE ----- */

body#search .container.primary {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
  display: flex;
  gap: 0;
}

body#search h1,
body#search h2,
body#search h3,
body#search h4 {
  font-family: var(--v5-font-head);
}

body#search a { text-decoration: none; }

/* Breadcrumbs: hide the global header breadcrumb on search page.
   V5 places crumbs INSIDE the content column above H1. */
body#search > .content > #breadcrumbs { display: none; }

body#search #search-main #search-breadcrumbs {
  margin: 0 0 16px;
  padding: 0;
  font-family: var(--v5-font-body);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0;
}
body#search #search-main #search-breadcrumbs ul.breadcrumb {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
body#search #search-main #search-breadcrumbs ul.breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 400;
  color: var(--v5-muted);
}
body#search #search-main #search-breadcrumbs ul.breadcrumb li a,
body#search #search-main #search-breadcrumbs ul.breadcrumb li span {
  font-size: 12px;
  font-weight: 400;
  color: var(--v5-muted);
  text-decoration: none;
  background: transparent;
}
body#search #search-main #search-breadcrumbs ul.breadcrumb li a:hover,
body#search #search-main #search-breadcrumbs ul.breadcrumb li a:hover span {
  color: var(--v5-text);
}
/* Last crumb (active, current page) — dark + medium weight */
body#search #search-main #search-breadcrumbs ul.breadcrumb li:last-child,
body#search #search-main #search-breadcrumbs ul.breadcrumb li:last-child a,
body#search #search-main #search-breadcrumbs ul.breadcrumb li:last-child span {
  color: var(--v5-text);
  font-weight: 500;
}

/* ============================================================
   SIDEBAR (#search-menu)
   ============================================================ */
body#search #search-menu {
  width: 260px;
  min-width: 260px;
  /* padding-left 48 matches content column's padding-right — symmetric
     gutters between viewport edges and first/last visible content. */
  padding: 32px 28px 32px 48px;
  border-right: 1px solid var(--v5-border);
  background: #fff;
  box-sizing: border-box;
}

body#search #search-menu .wrap {
  padding: 0;
  background: transparent;
  box-shadow: none;
  border-radius: 0;
}
/* Theme wraps sidebar form in a white card with border-radius — V5 is flat. */
body#search #search-menu form.search-side-form {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  margin: 0;
}

body#search #search-menu > .wrap > form > .row {
  padding: 0 0 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--v5-border);
}
body#search #search-menu > .wrap > form > .row:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}
body#search #search-menu > .wrap > form > .row .row {
  padding: 0;
  margin: 0;
  border-bottom: none;
}

body#search #search-menu label,
body#search #search-menu > .wrap > form > .row > label {
  display: block;
  font-family: var(--v5-font-head);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--v5-text);
  text-transform: none;
  margin: 0 0 10px;
  padding: 0;
  background: transparent;
}

/* Category list */
body#search #search-menu .catbox {
  max-height: none;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
body#search #search-menu .catbox .child {
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-muted);
  min-height: 22px;
}
body#search #search-menu .catbox .child .icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border-radius: 0;
}
body#search #search-menu .catbox .child .icon i,
body#search #search-menu .catbox .child .icon img {
  width: 14px;
  height: 14px;
  max-width: 14px;
  color: var(--v5-muted);
}
body#search #search-menu .catbox .child.open,
body#search #search-menu .catbox .child.active {
  color: var(--v5-text);
  font-weight: 600;
}
body#search #search-menu .catbox .child em {
  font-style: normal;
  color: var(--v5-placeholder);
  font-size: 12px;
  margin-left: auto;
  font-weight: 400;
}
body#search #search-menu .catbox .subcats {
  padding: 4px 0 4px 26px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: none;
  background: transparent;
}
body#search #search-menu .catbox .subcats .subchild {
  padding: 0;
  position: relative;
  font-size: 13px;
  color: var(--v5-muted);
  font-weight: 400;
}
body#search #search-menu .catbox .subcats .subchild.active {
  color: var(--v5-brand);
  font-weight: 500;
}
body#search #search-menu .catbox .subcats .subchild.active::before {
  content: '';
  position: absolute;
  left: -14px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  background: var(--v5-brand);
  border-radius: 0;
}

/* Inputs */
body#search #search-menu input[type="text"],
body#search #search-menu input[type="number"],
body#search #search-menu input[type="search"] {
  width: 100%;
  height: 36px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 13px;
  color: var(--v5-text);
  box-sizing: border-box;
  box-shadow: none;
}
body#search #search-menu input::placeholder { color: var(--v5-placeholder); }
body#search #search-menu input:focus {
  outline: none;
  border-color: var(--v5-text);
}

body#search #search-menu .input-box { padding: 0; }

/* Two-input range row (price, year, hours, weight) */
body#search #search-menu .row.price .line,
body#search #search-menu .row .line.input-box {
  display: flex;
  gap: 8px;
  padding: 0;
  background: transparent;
  border: none;
}
body#search #search-menu .row.price .line input,
body#search #search-menu .row .line.input-box input {
  flex: 1;
  width: 100%;
}
body#search #search-menu .row.price .line .delim { display: none; }

/* Checkboxes — unified across price, standort, attributes */
body#search #search-menu input[type="checkbox"] {
  box-sizing: border-box !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  padding: 0 !important;
  margin: 0 8px 0 0;
  border: 1px solid #c4c4c4;
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  background: #fff;
  vertical-align: middle;
  cursor: pointer;
  position: relative;
  flex: 0 0 16px;
}
body#search #search-menu input[type="checkbox"]:checked {
  background: var(--v5-brand);
  border-color: var(--v5-brand);
}
body#search #search-menu input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 1px;
  width: 4px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

body#search #search-menu .input-box-check {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 0;
  margin: 0;
  width: 100%;
}
body#search #search-menu .input-box-check input[type="checkbox"] {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  box-sizing: border-box !important;
  width: 16px !important;
  height: 16px !important;
  min-height: 16px !important;
  min-width: 16px !important;
  margin: 1px 0 0 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  overflow: visible !important;
  flex: 0 0 16px;
  z-index: auto;
}
body#search #search-menu .input-box-check label,
body#search #search-menu .only-check-label {
  display: block;
  float: none !important;
  clear: none !important;
  position: static;
  font-family: var(--v5-font-body);
  font-size: 13px !important;
  font-weight: 400;
  line-height: 1.4 !important;
  color: var(--v5-muted);
  margin: 0;
  padding: 0 !important;
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
  flex: 1;
  min-width: 0;
}
body#search #search-menu .input-box-check label:hover {
  text-decoration: none;
}
body#search #search-menu .input-box-check label::before,
body#search #search-menu .input-box-check label::after,
body#search #search-menu .only-check-label::before,
body#search #search-menu .only-check-label::after {
  display: none !important;
  content: none !important;
}
body#search #search-menu .input-box-check input[type="checkbox"]:checked + label,
body#search #search-menu .input-box-check input[type="checkbox"]:checked ~ label {
  color: var(--v5-text);
  font-weight: 500;
}

/* Standort continent details + rows */
body#search #search-menu .row.standort details {
  border: none;
  background: transparent;
  padding: 0;
  margin: 0;
}
body#search #search-menu .row.standort details + details {
  margin-top: 4px;
}
body#search #search-menu .row.standort summary {
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--v5-text);
  padding: 4px 0;
  cursor: pointer;
  list-style: none;
}
body#search #search-menu .row.standort .standort-content {
  padding: 2px 0 0 0 !important;
}
body#search #search-menu .row.standort summary::marker,
body#search #search-menu .row.standort summary::-webkit-details-marker { display: none; }
body#search #search-menu .row.standort .standort-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 0;
  margin: 0;
  font-size: 13px;
  line-height: 1.3;
  color: var(--v5-muted);
  font-weight: 400;
  cursor: pointer;
  /* Kill legacy "pinned" accent (blue left border from DACH-era styling) */
  border-left: none;
  padding-left: 0;
  border-radius: 0;
  background: transparent;
}
body#search #search-menu .row.standort .standort-row:hover { background: transparent; }
body#search #search-menu .row.standort .standort-row.pinned {
  border-left: none;
  padding-left: 0;
  font-weight: 400;
}
body#search #search-menu .row.standort .standort-row.active {
  color: var(--v5-text);
  font-weight: 500;
  background: transparent;
}
body#search #search-menu .row.standort .standort-flag {
  display: block;
  width: 18px;
  height: 12px;
  object-fit: cover;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  flex: 0 0 18px;
  vertical-align: middle;
}
body#search #search-menu .row.standort .standort-name {
  font-family: var(--v5-font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}
body#search #search-menu .row.standort .standort-count {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
}
body#search #search-menu .row.standort .standort-count {
  color: var(--v5-placeholder);
  font-size: 12px;
  margin-left: auto;
  font-weight: 400;
}

/* ============================================================
   CAP FILTER SIDEBAR — .cap-search-hook (car_attr_pro plugin)
   Structure:
     .cap-search-hook
       > strong.cap-head              — "Attribute" heading
       > .cap-high-level-filters
           > .cap-input-box.cap-slider    — Verkauf/Miete segmented
           > .cap-input-box.cap-select    — dropdown (Zustand, Marke…)
           > .cap-input-box.cap-range     — Von/Bis pair
           > .cap-input-box.cap-input     — plain text input
   ============================================================ */

/* Header "Attribute" */
body#search #search-menu .cap-search-hook .cap-head {
  display: block;
  font-family: var(--v5-font-head);
  font-size: 13px;
  font-weight: 600;
  color: var(--v5-text);
  letter-spacing: 0.02em;
  padding: 0 0 8px;
  margin: 0 0 16px;
  position: relative;
}
body#search #search-menu .cap-search-hook .cap-head::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 20px;
  height: 2px;
  background: var(--v5-brand);
}

/* Each top-level filter section: compact spacing, no dividers (whitespace only) */
body#search #search-menu .cap-high-level-filters > .cap-input-box {
  display: block;
  padding: 0;
  margin: 0 0 14px;
  border: none;
  background: transparent;
  border-radius: 0;
  position: relative;
}
body#search #search-menu .cap-high-level-filters > .cap-input-box:last-child {
  margin-bottom: 0;
}

/* Collapse advanced filters: show only first 7 by default, rest hidden
   until user clicks "Mehr Filter anzeigen" (toggles .cap-expanded). */
body#search #search-menu .cap-high-level-filters:not(.cap-expanded) > .cap-input-box:nth-child(n+8) {
  display: none;
}
body#search #search-menu .cap-more-filters {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 4px 0 14px;
  padding: 0;
  background: transparent;
  border: none;
  color: var(--v5-brand);
  font-family: var(--v5-font-body);
  font-size: 12px;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
}
body#search #search-menu .cap-more-filters:hover { text-decoration: underline; }
body#search #search-menu .cap-more-filters::after {
  content: '›';
  font-size: 14px;
  line-height: 1;
  transition: transform 0.2s;
}
body#search #search-menu .cap-high-level-filters.cap-expanded ~ .cap-more-filters::after,
body#search #search-menu .cap-more-filters.is-open::after {
  transform: rotate(90deg);
}

/* Nested .cap-input-box inside .cap-range (individual Von/Bis input wrappers)
   must NOT repeat section padding/border — they are just input holders. */
body#search #search-menu .cap-high-level-filters .cap-input-box .cap-input-box {
  padding: 0;
  margin: 0;
  border: none;
  position: relative;
  flex: 1;
  min-width: 0;
}

/* Section label */
body#search #search-menu .cap-high-level-filters .cap-input-box > label,
body#search #search-menu .cap-high-level-filters .cap-input-box > strong,
body#search #search-menu .cap-high-level-filters .cap-input-box > .cap-label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-family: var(--v5-font-head);
  font-size: 12px;
  font-weight: 600;
  color: var(--v5-text);
  letter-spacing: 0.02em;
  margin: 0 0 6px;
  padding: 0;
  text-transform: none;
  background: transparent;
  line-height: 1.3;
}

/* Section heading is actually <strong class="cap-line">Label <div.cap-help-elem>...</div></strong>.
   Flex layout aligns label text + help icon neatly. */
body#search #search-menu .cap-high-level-filters .cap-input-box > strong.cap-line,
body#search #search-menu .cap-high-level-filters .cap-input-box > .cap-line {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* ---------- Boolean filter (.cap-checkbox) ----------
   Real DOM:
     .cap-input-box.cap-checkbox
       > label.cap-label
           > input[type=checkbox]
           > span (label text)
           > .cap-help-elem
   Label is the WHOLE row (checkbox + text + help), NOT a section heading.
   Override the generic section-label styles. */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-checkbox {
  margin-bottom: 8px;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-checkbox > label.cap-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-text);
  letter-spacing: 0;
  cursor: pointer;
  margin: 0;
  padding: 0;
  text-transform: none;
  line-height: 1.3;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-checkbox > label.cap-label > span {
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-text);
  flex: 1;
  min-width: 0;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-checkbox input[type="checkbox"] {
  width: 14px;
  height: 14px;
  margin: 0;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  appearance: none;
  -webkit-appearance: none;
  background: #fff;
  cursor: pointer;
  position: relative;
  flex: 0 0 14px;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-checkbox input[type="checkbox"]:checked {
  background: var(--v5-brand);
  border-color: var(--v5-brand);
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-checkbox input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Help tooltip trigger (question-mark SVG) */
body#search #search-menu .cap-high-level-filters .cap-help-elem {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  cursor: help;
  position: relative;
  line-height: 1;
  /* Hide any inline tooltip text that's nested inside this element —
     we only want the SVG icon visible. Tooltip content is revealed
     via hover by the plugin (if any). */
  font-size: 0;
  color: transparent;
}
body#search #search-menu .cap-high-level-filters .cap-help-elem .cap-hlp,
body#search #search-menu .cap-high-level-filters .cap-help-elem svg {
  width: 12px;
  height: 12px;
  fill: var(--v5-placeholder);
  display: inline-block;
  font-size: 0;
}
body#search #search-menu .cap-high-level-filters .cap-help-elem:hover .cap-hlp,
body#search #search-menu .cap-high-level-filters .cap-help-elem:hover svg {
  fill: var(--v5-muted);
}

/* Legacy tooltip badges (fontawesome / sup) */
body#search #search-menu .cap-high-level-filters .cap-input-box label a[data-tooltip],
body#search #search-menu .cap-high-level-filters .cap-input-box label .fa-question-circle,
body#search #search-menu .cap-high-level-filters .cap-input-box label sup {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  font-size: 10px;
  font-weight: 600;
  font-family: var(--v5-font-body);
  color: var(--v5-placeholder);
  background: transparent;
  border: 1px solid var(--v5-border);
  border-radius: 100%;
  cursor: help;
  vertical-align: top;
  line-height: 1;
  text-decoration: none;
}

/* ---------- Text input (.cap-input) ---------- */
body#search #search-menu .cap-high-level-filters .cap-input-box input[type="text"],
body#search #search-menu .cap-high-level-filters .cap-input-box input[type="number"],
body#search #search-menu .cap-high-level-filters .cap-input-box input[type="search"] {
  display: block;
  width: 100%;
  height: 36px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 13px;
  color: var(--v5-text);
  box-sizing: border-box;
  box-shadow: none;
  transition: border-color 0.15s;
}
body#search #search-menu .cap-high-level-filters .cap-input-box input:focus {
  outline: none;
  border-color: var(--v5-text);
}
body#search #search-menu .cap-high-level-filters .cap-input-box input::placeholder {
  color: var(--v5-placeholder);
}

/* ---------- Range pair (.cap-range — Von/Bis two inputs + unit) ---------- */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-range .cap-range-wrap,
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-range .cap-range-line,
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-range > div:not([class*="cap-label"]):not([class*="cap-help"]) {
  display: flex;
  gap: 8px;
  align-items: stretch;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-range input {
  flex: 1;
  min-width: 0;
}
/* Unit suffix <em class="cap-meas"> inside Von/Bis inputs (h, m, kg, …) */
body#search #search-menu .cap-high-level-filters .cap-meas {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--v5-font-body);
  font-size: 11px;
  font-weight: 500;
  color: var(--v5-placeholder);
  font-style: normal;
  pointer-events: none;
  background: transparent;
}

/* Reserve space for the unit on the right side of the input */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-input input.cap-input {
  padding-right: 28px;
}

/* ---------- Select dropdown (.cap-select) ----------
   Real DOM (per plugin inspect):
     .cap-input-box.cap-select
       > label.cap-label
       > div.cap-input-wrap
           > input[type=hidden] name=X        (form value)
           > input.cap-input.cap-display       (shows selected text, readonly-like)
           > input.cap-input.cap-filter        (search within options)
           > svg.cap-caret                     (chevron)
           > svg.cap-clear                     (× to clear — display:none by default)
       > div.cap-values-list  display:none     (dropdown panel)
           > div.cap-values-wrap
               > div.cap-value.cap-deselect    ("Auswahl aufheben")
               > div.cap-value                 (each option)
   ----------------------------------------------------------- */

/* Wrapper holds the display input + caret relatively positioned */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-input-wrap {
  position: relative;
  display: block;
  width: 100%;
}

/* cap-display: the visible "closed state" of the dropdown */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-input.cap-display {
  display: block;
  width: 100%;
  height: 36px;
  padding: 0 32px 0 12px;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 13px;
  color: var(--v5-text);
  cursor: pointer;
  box-sizing: border-box;
  box-shadow: none;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-input.cap-display::placeholder {
  color: var(--v5-placeholder);
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-input.cap-display:hover,
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-input.cap-display:focus {
  border-color: var(--v5-text);
  outline: none;
}

/* cap-filter: hide by default — it belongs INSIDE the open dropdown panel */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-input.cap-filter {
  display: none;
}

/* When dropdown is open (plugin toggles a class), show the filter input */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select.is-open .cap-input.cap-filter,
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select.open .cap-input.cap-filter,
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select.cap-open .cap-input.cap-filter {
  display: block;
  width: 100%;
  height: 36px;
  padding: 0 12px;
  background: #fff;
  border: 1px solid var(--v5-text);
  border-top: none;
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 13px;
  color: var(--v5-text);
  box-sizing: border-box;
}

/* Chevron SVG — absolute right */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-caret {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  pointer-events: none;
  fill: var(--v5-muted);
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-caret path { fill: currentColor; }

/* Clear SVG (× to deselect) — shown only when something is selected */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-clear {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  cursor: pointer;
  fill: var(--v5-muted);
}

/* Dropdown panel (.cap-values-list) — opens below, popup style */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-list {
  background: #fff;
  border: 1px solid var(--v5-text);
  border-top: none;
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: visible;
  margin-top: -1px;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-wrap {
  display: block;
  max-height: 280px;
  overflow-y: auto;
  border: none;
  background: transparent;
  padding: 0;
  min-height: 0;
}
/* Select-all / Deselect-all buttons at top of dropdown — full-width, stacked */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-wrap .cap-value.cap-w50 {
  display: block;
  width: 100%;
  float: none;
  height: auto;
  padding: 8px 12px;
  font-family: var(--v5-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--v5-text);
  background: var(--v5-surface);
  border-bottom: 1px solid var(--v5-border);
  border-left: none;
  border-right: none;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-wrap .cap-value.cap-w50 + .cap-w50 {
  border-left: none;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-wrap .cap-value.cap-w50:hover {
  background: var(--v5-surface-tint);
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-wrap .cap-value.cap-w50.cap-deselect {
  color: var(--v5-brand);
  text-decoration: none;
}
/* Clear the floated select-all/deselect button row before regular options */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-wrap .cap-value:not(.cap-w50) {
  clear: both;
}
/* Hide legacy "no results" placeholder pseudo */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-values-wrap::before {
  display: none !important;
  content: none !important;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-value {
  display: block;
  padding: 8px 12px;
  font-family: var(--v5-font-body);
  font-size: 13px;
  color: var(--v5-text);
  cursor: pointer;
  border-bottom: 1px solid var(--v5-border);
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-value:last-child {
  border-bottom: none;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-value:hover {
  background: var(--v5-surface);
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-value.cap-selected {
  background: var(--v5-surface-tint);
  font-weight: 500;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-select .cap-value.cap-deselect {
  color: var(--v5-brand);
  font-weight: 500;
  font-size: 12px;
  font-style: italic;
}

/* ---------- Segmented toggle (.cap-slider — Verkauf/Miete) ---------- */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider .cap-slider-wrap,
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider > div:not([class*="label"]) {
  display: flex;
  gap: 8px;
  border: none;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  padding: 0;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider label {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  padding: 0 8px;
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--v5-muted);
  cursor: pointer;
  background: #fff;
  border: 1px solid var(--v5-border);
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
  transition: background 0.15s, color 0.15s;
  box-sizing: border-box;
  white-space: nowrap;
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider label:has(input[type="radio"]:checked),
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider label.active,
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider label.selected {
  background: var(--v5-text);
  color: #fff;
  border-color: var(--v5-text);
}
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
/* Plugin renders text inside <span> with its own border + 40px height. Strip it. */
body#search #search-menu .cap-high-level-filters .cap-input-box.cap-slider .cap-label span {
  display: inline;
  width: auto;
  height: auto;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  font: inherit;
  color: inherit;
  line-height: inherit;
}

/* ---------- Legacy theme sidebar-hooks (backward compat) ---------- */
body#search #search-menu .sidebar-hooks .row { margin: 0; padding: 0; border: none; }
body#search #search-menu .sidebar-hooks > .row {
  padding: 0 0 28px;
  margin-bottom: 28px;
  border-bottom: 1px solid var(--v5-border);
}
body#search #search-menu .sidebar-hooks label {
  display: block;
  font-family: var(--v5-font-head);
  font-size: 12px;
  font-weight: 600;
  color: var(--v5-text);
  margin: 0 0 10px;
  padding: 0;
  text-transform: none;
  letter-spacing: 0.02em;
  background: transparent;
}

/* Submit / reset at the bottom of the sidebar */
body#search #search-menu .row.buttons.srch {
  border: none;
  padding: 0;
  margin-top: 4px;
}
body#search #search-menu .row.buttons.srch .btn,
body#search #search-menu #search-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  height: 40px;
  background: var(--v5-brand);
  border: none;
  border-radius: 0;
  color: #fff;
  font-family: var(--v5-font-button);
  font-weight: 500;
  font-size: 13px;
  cursor: pointer;
  box-shadow: none;
}

/* ============================================================
   TOP BAR (H1 + intro + save search)
   ============================================================ */
body#search #search-main {
  flex: 1;
  /* min-width:0 lets flex item shrink below intrinsic content width —
     without it, horizontal scrollers inside (e.g. #recent-ads) force
     the parent wider than the container, causing page-level overflow. */
  min-width: 0;
  padding: 32px 48px;
  background: #fff;
}

body#search .top-bar {
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--v5-border);
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: transparent;
}
body#search .top-bar h1 {
  font-family: var(--v5-font-head);
  font-size: 40px;
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--v5-text);
  margin: 0;
  padding: 0;
  /* Keep natural word-wrapping even in narrow flex containers —
     theme's responsive.css sets word-break:break-all somewhere, which
     breaks every letter onto its own line. */
  word-break: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  flex: 1 1 auto;
}
body#search .top-bar .seo-intro {
  font-family: var(--v5-font-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--v5-muted);
  margin: 0;
}
/* H1 + collapsible top SEO text (chevron toggle), mirrors the item page #pd-seo */
body#search .top-bar .h1-wrap { display: flex; align-items: center; gap: 10px; min-width: 0; }
body#search .top-bar .h1-wrap h1 { flex: 0 1 auto; }
body#search .top-bar .search-seo-toggle {
  flex-shrink: 0; width: 24px; height: 24px; padding: 0; border: 0; background: transparent;
  color: var(--v5-muted); cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
}
body#search .top-bar .search-seo-toggle .v5-chevron { width: 18px; height: 18px; display: block; transition: transform .2s ease; }
body#search .top-bar .search-seo-toggle:hover { color: var(--v5-brand); }
body#search .top-bar .search-seo-toggle.open .v5-chevron { transform: rotate(180deg); }
body#search #search-seo { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .22s ease; }
body#search #search-seo.open { grid-template-rows: 1fr; }
body#search #search-seo .search-seo-clip { min-height: 0; overflow: hidden; }
body#search #search-seo #sep-stext-top { margin: 0; padding-top: 12px; }
body#search .top-bar .h1-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}
body#search .top-bar #search-alert {
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}

/* "Suche speichern" button styling (alert-form save button) */
body#search .top-bar #search-alert {
  flex-shrink: 0;
}
body#search .top-bar #search-alert .open-alert-box,
body#search .top-bar #search-alert .open-alert-box.btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-button);
  font-size: 12px;
  font-weight: 500;
  color: var(--v5-muted);
  text-transform: none;
  cursor: pointer;
  height: auto;
  line-height: 1.2;
  box-shadow: none;
  min-height: 0;
}
body#search .top-bar #search-alert .open-alert-box .alert-star-off,
body#search .top-bar #search-alert .open-alert-box .alert-star-on {
  font-size: 13px;
  margin: 0;
  color: var(--v5-muted);
}
/* Toggle icon/label visibility based on .active state.
   These were in theme's style.css but that's now inside @layer theme,
   where FontAwesome's unlayered `.fa { display:inline-block }` wins.
   Duplicate here (unlayered) to restore proper hide/show. */
body#search .top-bar #search-alert .open-alert-box .alert-star-on,
body#search .top-bar #search-alert .open-alert-box .alert-label-on { display: none; }
body#search .top-bar #search-alert .open-alert-box.active .alert-star-off,
body#search .top-bar #search-alert .open-alert-box.active .alert-label-off { display: none; }
body#search .top-bar #search-alert .open-alert-box.active .alert-star-on { display: inline-block; color: var(--v5-brand); }
body#search .top-bar #search-alert .open-alert-box.active .alert-label-on { display: inline; }
body#search .top-bar #search-alert .open-alert-box.active {
  border-color: var(--v5-text);
  color: var(--v5-text);
}
body#search .top-bar #search-alert .open-alert-box.active .alert-star-on { color: var(--v5-brand); }

/* ============================================================
   QUICK BAR (sort) + ACTIVE FILTER CHIPS
   ============================================================ */
body#search #search-quick-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  margin: 0 0 16px 0;
  background: transparent;
  border: none;
}
/* "N Ergebnisse" label on the left */
body#search #search-quick-bar .results-count {
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-muted);
  line-height: 1.2;
}
body#search #search-quick-bar .sort-type {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
  position: static;
}
body#search #search-quick-bar label,
body#search #search-quick-bar .sort-type label {
  position: static;
  top: auto;
  left: auto;
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-muted);
  margin: 0;
  padding: 0;
  text-transform: none;
}
body#search #search-quick-bar select,
body#search #search-quick-bar .sort-type select {
  height: 34px;
  padding: 0 28px 0 12px;
  background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='%230d0d0d' d='M2 4l4 4 4-4'/></svg>") no-repeat right 10px center;
  background-size: 10px;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--v5-text);
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  line-height: 1;
  box-shadow: none;
}

/* Active filter chips */
body#search #search-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 0;
  margin-bottom: 16px;
  background: transparent;
  border: none;
}
body#search #search-filters a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: auto;
  padding: 6px 10px 6px 12px;
  margin: 0;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--v5-font-body);
  font-size: 12px;
  font-weight: 400;
  color: var(--v5-text);
  text-transform: none;
  line-height: 1;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s;
  position: relative;
}
body#search #search-filters a:hover {
  border-color: var(--v5-text);
  background: #fff;
}
body#search #search-filters a::after {
  content: '';
  position: static;
  top: auto;
  right: auto;
  left: auto;
  bottom: auto;
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' stroke='%230d0d0d' stroke-width='1.5' stroke-linecap='round'><line x1='2.5' y1='2.5' x2='9.5' y2='9.5'/><line x1='9.5' y1='2.5' x2='2.5' y2='9.5'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 10px;
  border: none;
  font-family: inherit;
  font-size: 0;
  line-height: 0;
  color: transparent;
  flex-shrink: 0;
  opacity: 0.6;
  transition: opacity 0.15s;
  vertical-align: middle;
}
body#search #search-filters a:hover::after { opacity: 1; }
body#search #search-filters a:hover::after { opacity: 1; }
body#search #search-filters a.remove-all-filters,
body#search #search-filters a.bold.remove-all-filters {
  padding: 6px 4px;
  background: transparent;
  border: none;
  color: var(--v5-brand);
  font-weight: 500;
}
body#search #search-filters a.remove-all-filters::after,
body#search #search-filters a.bold.remove-all-filters::after { content: none; display: none; }

/* User type filter — hide (not in V5) */
body#search #filter-user-type { display: none; }

/* ============================================================
   ITEM CARDS (.simple-prod) — V5 precise
   Scope: #search-items > .products (not recent-ads / premiums)
   Figma spec: card 1px border, image 320x240 left, content 16px padding,
   price absolute top-right, favorite top-right of image, photo-counter
   bottom-left of image, subcategory under title (dot + name), clean bottom
   row with Kontakt outline button (no top-border strip).
   ============================================================ */

/* Product list wrapper: column layout, not grid */
body#search #search-items > .products,
body#search #search-items > .products.grid,
body#search #search-items > .products.gallery,
body#search #search-items > .products.list,
body#search #search-items > .products.detail {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
  margin: 0;
  grid-template-columns: none;
}

/* Card outer */
body#search #search-items > .products .simple-prod {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  box-shadow: none;
  transition: border-color 0.15s ease;
}
body#search #search-items > .products .simple-prod:hover {
  border-color: var(--v5-text);
  box-shadow: none;
}

/* Premium / TOP card: tint bg + 4px brand bar on the left */
body#search #search-items > .products .simple-prod.is-premium {
  background: var(--v5-surface-tint);
  border-color: var(--v5-tint-border);
}
body#search #search-items > .products .simple-prod.is-premium::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--v5-brand);
  z-index: 1;
}

/* Wrapper: horizontal, fixed 240px height so Kontakt sits against image bottom */
body#search #search-items > .products .simple-prod .simple-wrap {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  padding: 0;
  background: transparent;
  border-radius: 0;
  height: 240px;
  min-height: 240px;
  box-shadow: none;
  overflow: hidden;
}

/* ---------- IMAGE AREA (320x240) ---------- */
body#search #search-items > .products .simple-prod .img-wrap {
  position: relative;
  width: 320px;
  min-width: 320px;
  height: 240px;
  padding: 0;
  margin: 0;
  background: var(--v5-surface);
  border-radius: 0;
  overflow: hidden;
  flex: 0 0 320px;
}
body#search #search-items > .products .simple-prod .img-wrap a.img {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
}
body#search #search-items > .products .simple-prod .img-wrap > a img,
body#search #search-items > .products .simple-prod .img-wrap img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0;
  box-shadow: none;
}

/* Photo counter: bottom-left, dark pill, no "x" suffix */
body#search #search-items > .products .simple-prod .img-wrap .bar {
  position: static;
  padding: 0;
  background: transparent;
}
body#search #search-items > .products .simple-prod .img-wrap .bar .image-counter,
body#search #search-items > .products .simple-prod .img-wrap .image-counter {
  position: absolute;
  left: 10px;
  bottom: 10px;
  right: auto;
  top: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  background: var(--v5-overlay);
  color: #fff;
  font-family: var(--v5-font-body);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  border-radius: 0;
  z-index: 2;
}
body#search #search-items > .products .simple-prod .img-wrap .image-counter::after {
  content: none;
}
body#search #search-items > .products .simple-prod .img-wrap .image-counter i {
  font-size: 11px;
  line-height: 1;
}

/* Favorite: top-right of image, 32x32 white square, dark star */
body#search #search-items > .products .simple-prod .img-wrap .favorite,
body#search #search-items > .products .simple-prod .img-wrap .isGrid.isDetail .favorite {
  position: absolute;
  top: 8px;
  right: 8px;
  left: auto;
  bottom: auto;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  z-index: 3;
}
body#search #search-items > .products .simple-prod .img-wrap .favorite > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  padding: 0;
  background: #fff;
  border-radius: 0;
  box-shadow: none;
}
body#search #search-items > .products .simple-prod .img-wrap .favorite > a span { display: none; }
body#search #search-items > .products .simple-prod .img-wrap .favorite > a i {
  font-size: 16px;
  line-height: 1;
  font-weight: 400;
  color: var(--v5-text);
  background: transparent;
  border-radius: 0;
  padding: 0;
  width: auto;
  height: auto;
  text-indent: 0;
}
body#search #search-items > .products .simple-prod .img-wrap .favorite > a.is_favorite i,
body#search #search-items > .products .simple-prod .img-wrap .favorite > a.fi_is_favorite i {
  color: var(--v5-brand);
  font-weight: 900;
}

/* TOP / Premium badge (top-left of image) */
body#search #search-items > .products .simple-prod .premium-mark,
body#search #search-items > .products .simple-prod .premium-mark.isGrid {
  position: absolute;
  top: 0;
  left: 0;
  padding: 4px 10px;
  background: var(--v5-brand);
  color: #fff;
  font-family: var(--v5-font-head);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 0;
  line-height: 1.4;
  z-index: 2;
}

/* User image overlay (profile avatar) — hidden on V5 cards (minimal design) */
body#search #search-items > .products .simple-prod .img-wrap .user-image { display: none; }

/* Sold/reserved labels */
body#search #search-items > .products .simple-prod .label {
  padding: 4px 10px;
  font-family: var(--v5-font-head);
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-radius: 0;
  background: var(--v5-text);
  color: #fff;
}

/* ---------- DATA (info) BLOCK ---------- */
body#search #search-items > .products .simple-prod .data {
  flex: 1;
  height: 240px;
  padding: 16px 16px 60px; /* reserve bottom space for absolute .contact row */
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  position: relative;
  overflow: hidden;
}

/* Order of visible children */
body#search #search-items > .products .simple-prod .data > h2.card-title-h,
body#search #search-items > .products .simple-prod .data > .title { order: 1; }
body#search #search-items > .products .simple-prod .data > .extra            { order: 2; }
body#search #search-items > .products .simple-prod .data > .cap-card-chips   { order: 3; }
body#search #search-items > .products .simple-prod .data > .info             { order: 4; }
body#search #search-items > .products .simple-prod .data > .contact          { order: 5; margin-top: auto; }

/* Hide fields not used on V5 cards */
body#search #search-items > .products .simple-prod .data > .description,
body#search #search-items > .products .simple-prod .data > .action,
body#search #search-items > .products .simple-prod .data > .labels { display: none; }

/* .extra row: hide date + views spans, keep only the category heading */
body#search #search-items > .products .simple-prod .data > .extra {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
}
body#search #search-items > .products .simple-prod .data > .extra > span { display: none; }
body#search #search-items > .products .simple-prod .data > .extra .card-category-h,
body#search #search-items > .products .simple-prod .data > .extra h3 {
  margin: 0;
  padding: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
}
body#search #search-items > .products .simple-prod .data > .extra .card-category-h::before {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  background: var(--v5-brand);
}
body#search #search-items > .products .simple-prod .data > .extra .card-category-h a {
  font-family: var(--v5-font-body);
  font-size: 12px;
  font-weight: 500;
  color: var(--v5-muted);
  text-decoration: none;
  line-height: 1.2;
}

/* Title */
body#search #search-items > .products .simple-prod .data h2.card-title-h,
body#search #search-items > .products .simple-prod .data > h2 {
  margin: 0;
  padding: 0;
  padding-right: 140px; /* reserve space for absolute price block */
}
body#search #search-items > .products .simple-prod .data h2.card-title-h a,
body#search #search-items > .products .simple-prod .data .title {
  font-family: var(--v5-font-head);
  font-size: 15px;
  font-weight: 600;
  color: var(--v5-text);
  line-height: 1.3;
  display: block;
  text-decoration: none;
  background: transparent;
  padding: 0;
}

/* Info row (flag + location) */
body#search #search-items > .products .simple-prod .data > .info {
  margin: 0;
  padding: 0;
  background: transparent;
  font-family: var(--v5-font-body);
  font-size: 12px;
  color: var(--v5-muted);
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  height: auto;
  min-height: 0;
}
body#search #search-items > .products .simple-prod .data > .info > *,
body#search #search-items > .products .simple-prod .data > .info .country-flag {
  background: transparent;
  color: var(--v5-muted);
  font-size: 12px;
  padding: 0;
  margin: 0;
}
body#search #search-items > .products .simple-prod .data > .info img.country-flag {
  width: 20px;
  height: 14px;
  object-fit: cover;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  margin: 0 2px 0 0;
  vertical-align: middle;
}

/* CAP spec chips */
body#search #search-items > .products .simple-prod .cap-card-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
}
body#search #search-items > .products .simple-prod .cap-card-chip {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: var(--v5-surface);
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 11px;
  font-weight: 500;
  color: var(--v5-text);
  line-height: 1.2;
  white-space: nowrap;
}

/* Hide the ".right" (list-view) duplicate column */
body#search #search-items > .products .simple-prod .right { display: none; }

/* ---------- PRICE BLOCK (absolute top-right of card) ---------- */
body#search #search-items > .products .simple-prod .data .card-price-block {
  position: absolute;
  top: 16px;
  right: 16px;
  float: none;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  white-space: nowrap;
  font-family: var(--v5-font-head);
  font-size: 22px;
  font-weight: 600;
  color: var(--v5-text);
  letter-spacing: -0.03em;
  line-height: 1.1;
  text-align: right;
  z-index: 1;
}
body#search #search-items > .products .simple-prod .data .card-price-block .cpb-brutto,
body#search #search-items > .products .simple-prod .data .card-price-block .price,
body#search #search-items > .products .simple-prod .data .card-price-block .eps-multicurrency-price {
  font-family: var(--v5-font-head);
  font-size: 22px;
  font-weight: 600;
  color: var(--v5-text);
  letter-spacing: -0.03em;
  line-height: 1.1;
}
body#search #search-items > .products .simple-prod .data .card-price-block .vat-info {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0;
  margin: 0;
  padding: 0;
}
body#search #search-items > .products .simple-prod .data .card-price-block .vat-rate {
  font-family: var(--v5-font-body);
  font-size: 10px;
  font-weight: 400;
  color: var(--v5-placeholder);
  letter-spacing: 0;
  line-height: 1.3;
  padding: 0;
}
body#search #search-items > .products .simple-prod .data .card-price-block .vat-netto {
  font-family: var(--v5-font-body);
  font-size: 11px;
  font-weight: 400;
  color: var(--v5-muted);
  letter-spacing: 0;
  line-height: 1.3;
  padding: 0;
}

/* ---------- CONTACT / BOTTOM ROW (pinned to card bottom) ---------- */
body#search #search-items > .products .simple-prod .data > .contact {
  position: absolute;
  right: 16px;
  bottom: 16px;
  left: 16px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  flex-wrap: nowrap;
  height: auto;
}
body#search #search-items > .products .simple-prod .data > .contact > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  flex: 0 0 auto;
  height: auto;
  margin: 0;
  padding: 6px 16px;
  background: #fff;
  background-color: #fff;
  border: 1px solid var(--v5-text);
  border-radius: 0;
  box-shadow: none;
  font-family: var(--v5-font-button);
  font-size: 12px;
  font-weight: 500;
  color: var(--v5-text);
  text-decoration: none;
  line-height: 1.2;
  transition: background-color 0.15s, color 0.15s;
}
body#search #search-items > .products .simple-prod .data > .contact > a:hover {
  background: var(--v5-text);
  color: #fff;
}
body#search #search-items > .products .simple-prod .data > .contact > a:hover i {
  color: #fff;
}
/* Reset the theme's absolute-positioned icon tile on .contact > a i */
body#search #search-items > .products .simple-prod .data > .contact > a i {
  position: static;
  top: auto;
  left: auto;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-shadow: none;
  text-align: inherit;
  text-indent: 0;
  font-size: 12px;
  line-height: 1;
  color: var(--v5-text);
  transition: color 0.15s;
}
body#search #search-items > .products .simple-prod .data > .contact > a span {
  display: inline-block;
  line-height: 1.2;
}

/* ---------- SELLER LOGO + NAME (mockup c2sellerWrap): 28px square + name, pinned left ---------- */
/* hidden by default (shared loop-single template); shown only on search cards */
.simple-prod .data > .contact > .card-seller { display: none; }
body#search #search-items > .products .simple-prod .data > .contact > .card-seller {
  display: inline-flex; align-items: center; gap: 10px; margin-right: auto; min-width: 0; max-width: 60%;
  padding: 0; border: 0; background: none; box-shadow: none; text-decoration: none; color: var(--v5-text);
}
body#search #search-items > .products .simple-prod .data > .contact > .card-seller:hover { background: none; color: var(--v5-text); }
body#search #search-items > .products .simple-prod .data > .contact > .card-seller .card-seller-logo {
  flex-shrink: 0; width: 28px; height: 28px; box-sizing: border-box;
  border: 1px solid var(--v5-border); background: #FAFAFA; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center;
}
body#search #search-items > .products .simple-prod .data > .contact > .card-seller .card-seller-logo img {
  width: 100%; height: 100%; object-fit: cover; position: static; max-width: none; max-height: none; min-height: 0; margin: 0;
}
body#search #search-items > .products .simple-prod .data > .contact > .card-seller .card-seller-logo i {
  position: static; width: auto; height: auto; margin: 0; padding: 0; background: none; border: 0; box-shadow: none;
  font-size: 12px; color: var(--v5-muted); line-height: 1; text-indent: 0;
}
body#search #search-items > .products .simple-prod .data > .contact > .card-seller .card-seller-name {
  font-family: var(--v5-font-body); font-size: 12px; font-weight: 500; color: var(--v5-text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; line-height: 1.2;
}
body#search #search-items > .products .simple-prod .data > .contact > .card-seller:hover .card-seller-name { text-decoration: underline; }
/* Phone/Call + Email buttons: share the same V5 outline look as the message btn.
   We keep them visible (real functionality on the card). */

/* ============================================================
   PAGINATION
   ============================================================ */
body#search .paginate {
  margin-top: 32px;
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: transparent;
}
body#search .paginate ul,
body#search .paginate .pagination {
  display: flex;
  flex-direction: row;
  gap: 4px;
  list-style: none;
  padding: 0;
  margin: 0;
  align-items: center;
}
body#search .paginate ul li,
body#search .paginate .pagination li { display: block; margin: 0; padding: 0; }
body#search .paginate a,
body#search .paginate ul li > span,
body#search .paginate ul li > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 8px;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-button);
  font-size: 13px;
  font-weight: 400;
  color: var(--v5-text);
  text-decoration: none;
  line-height: 1;
}
body#search .paginate ul li.active > span,
body#search .paginate ul li > span.current,
body#search .paginate .current,
body#search .paginate .searchPaginationSelected {
  background: var(--v5-text);
  color: #fff;
  border-color: var(--v5-text);
  font-weight: 500;
}
body#search .paginate .disabled,
body#search .paginate .dots {
  border: none;
  color: var(--v5-muted);
  background: transparent;
}
body#search .paginate-label {
  font-family: var(--v5-font-body);
  font-size: 12px;
  color: var(--v5-muted);
}

/* ============================================================
   RECENT / LATEST SEARCHES / RECENT ADS
   ============================================================ */
body#search #latest-search {
  margin-top: 32px;
  padding-top: 24px;
  border-top: 1px solid var(--v5-border);
  background: transparent;
}
body#search #latest-search h3 {
  font-family: var(--v5-font-head);
  font-size: 18px;
  font-weight: 600;
  color: var(--v5-text);
  margin: 0 0 16px;
}
body#search #latest-search .wrap { display: flex; flex-wrap: wrap; gap: 8px; }
body#search #latest-search a {
  padding: 6px 12px;
  background: #fff;
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 12px;
  color: var(--v5-text);
  text-decoration: none;
}

/* Recent ads ("Zuletzt angesehen") block */
body#search .onsearch,
body#search .recent-ads-onsearch {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--v5-border);
  /* kill the legacy #ccc bottom border (style.css @layer) — the next block (#sep-stext)
     already has its own top divider, so the bottom border was a doubled line */
  border-bottom: none;
  padding-bottom: 0;
}

/* Featured SEO tags */
body#search .sep-featured-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 16px;
  padding: 0;
  background: transparent;
  border: none;
}
body#search .sep-featured-tags .sep-tag {
  padding: 6px 12px;
  background: var(--v5-surface);
  border: 1px solid var(--v5-border);
  border-radius: 0;
  font-family: var(--v5-font-body);
  font-size: 12px;
  color: var(--v5-text);
  text-decoration: none;
}

/* ============================================================
   SEO TEXT BLOCK (#sep-stext) — collapsed with fade-out + "Weiterlesen"
   ============================================================ */
body#search #sep-stext {
  position: relative;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid var(--v5-border);
  max-height: 220px;
  overflow: hidden;
  transition: max-height 0.35s ease;
}
body#search #sep-stext.is-short { max-height: none; }
body#search #sep-stext.expanded { max-height: 5000px; }

/* 2x40 brand swatch at the top of the block */
body#search #sep-stext::before {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: var(--v5-brand);
  margin-bottom: 16px;
}

body#search #sep-stext h2 {
  font-family: var(--v5-font-head);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--v5-text);
  margin: 0 0 12px;
  padding: 0;
  line-height: 1.3;
}
body#search #sep-stext h3 {
  font-family: var(--v5-font-head);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--v5-text);
  margin: 20px 0 8px;
  padding: 0;
  line-height: 1.3;
}
body#search #sep-stext h3:first-child,
body#search #sep-stext h2:first-child { margin-top: 0; }
body#search #sep-stext p {
  font-family: var(--v5-font-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--v5-muted);
  margin: 0 0 12px;
}
body#search #sep-stext a {
  color: var(--v5-brand);
  text-decoration: none;
}
body#search #sep-stext a:hover { text-decoration: underline; }

/* White fade-out at the bottom while collapsed */
body#search #sep-stext::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 70px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 85%);
  pointer-events: none;
  transition: opacity 0.25s ease;
}
body#search #sep-stext.expanded::after,
body#search #sep-stext.is-short::after { opacity: 0; }

/* "Weiterlesen" / "Weniger anzeigen" button */
body#search .sep-expand-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  padding: 8px 20px;
  background: #fff;
  border: 1px solid var(--v5-text);
  border-radius: 0;
  font-family: var(--v5-font-button);
  font-size: 13px;
  font-weight: 500;
  color: var(--v5-text);
  cursor: pointer;
  line-height: 1;
}
body#search .sep-expand-btn svg {
  width: 12px;
  height: 12px;
  transition: transform 0.2s ease;
}
body#search .sep-expand-btn.expanded svg { transform: rotate(180deg); }
body#search .sep-expand-btn:hover { background: var(--v5-text); color: #fff; }
body#search .sep-expand-btn:hover svg { fill: #fff; }

/* Empty state */
body#search .list-empty {
  padding: 48px;
  background: var(--v5-surface);
  border: 1px solid var(--v5-border);
  border-radius: 0;
  text-align: center;
}
body#search .list-empty .titles {
  font-family: var(--v5-font-head);
  font-size: 18px;
  font-weight: 600;
  color: var(--v5-text);
}

/* ============================================================
   RESPONSIVE — mobile / tablet breakpoints
   Matches theme's existing breakpoints (1080 tablet, 767 mobile).
   ============================================================ */

/* ≤1280: drop wide-only noicon links, tighten gaps. Bumped from 1080
   because header's publish CTA was getting cut off at 1081–1250. */
@media screen and (max-width: 1280px) {
  body#search header .container.cmain {
    padding: 0 24px;
    gap: 16px;
  }
  body#search header .links { gap: 12px; }
  body#search header a.publish.btn { padding: 10px 16px; font-size: 12px; }
  /* Hide secondary text-only links (Companies/Forums/Blog/FAQ) */
  body#search header .links .btn.noicon { display: none; }
  body#search header .links .divider { display: none; }
}

/* ≤1024: collapse icon-button labels (text is a direct text node, suppress
   via font-size: 0 on the link). Prevents header overflow at ~770–1024px. */
@media screen and (max-width: 1024px) {
  body#search header .links a.btn-white,
  body#search header .links a.btn {
    font-size: 0;
    gap: 0;
    padding: 8px 6px;
  }
  body#search header .links .counter { font-size: 10px; }
}

/* Tablet: 541–1080px — sidebar narrower, content compacts */
@media screen and (max-width: 1080px) {
  body#search .top-bar h1 { font-size: 28px; }
  /* Stack H1 + Save search vertically below 1080 to avoid flex-shrink
     squeezing the H1 into one-letter-per-line. */
  body#search .top-bar .h1-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  body#search #search-menu { width: 220px; min-width: 220px; padding: 24px 20px 24px 24px; }
  body#search #search-main { padding: 24px; }
}

/* Mobile: ≤767px — stack layout, drawer sidebar, vertical cards */
@media screen and (max-width: 767px) {
  /* Header — compact, hide labels, keep logo + flag + publish */
  body#search header .container.cmain {
    padding: 0 12px;
    height: 56px;
    gap: 8px;
  }
  body#search { padding-top: 59px; }
  body#search header a.logo img { height: 32px; max-height: 32px; }
  body#search header .links { display: none; }
  body#search header .account-dropdown { display: none; }
  body#search header a.domain-switch {
    padding: 4px 6px;
    font-size: 11px;
  }
  body#search header a.publish.btn {
    padding: 8px 12px;
    font-size: 12px;
    gap: 4px;
    margin-left: auto;
  }
  body#search header a.publish.btn svg { width: 12px; height: 12px; }

  /* Show mobile-only header controls that desktop hid */
  body#search header .cmain > a.menu.isMobile {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 0;
    background: transparent;
    border: none;
    color: var(--v5-text);
    flex-shrink: 0;
    order: -1; /* before logo */
  }
  body#search header .cmain > a.menu.isMobile svg {
    width: 20px;
    height: 20px;
    fill: var(--v5-text);
  }

  /* Container — full-width stack */
  body#search .container.primary {
    flex-direction: column;
    padding: 0;
  }

  /* Sidebar — hidden by default on mobile (user opens via "Filter results" button) */
  body#search #search-menu {
    width: 100%;
    min-width: 0;
    border-right: none;
    border-bottom: 1px solid var(--v5-border);
    padding: 16px;
    display: none; /* opened via #open-search-filters mobile button */
  }
  body#search #search-menu.is-open { display: block; }

  /* Mobile "Filter results" button — show */
  body#search #open-search-filters.isMobile {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 16px;
    padding: 10px 14px;
    background: #fff;
    border: 1px solid var(--v5-border);
    color: var(--v5-text);
    font-family: var(--v5-font-button);
    font-size: 13px;
    font-weight: 500;
  }
  body#search #open-search-filters.isMobile svg {
    width: 16px;
    height: 16px;
    fill: var(--v5-text);
  }

  /* Main content — full width, tighter padding */
  body#search #search-main { padding: 16px 12px; }

  /* Breadcrumbs smaller */
  body#search #search-main #search-breadcrumbs { font-size: 11px; margin-bottom: 10px; }

  /* Top bar — H1 smaller, Save search below H1 (not inline) */
  body#search .top-bar { gap: 10px; margin-bottom: 12px; padding-bottom: 12px; }
  body#search .top-bar .h1-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  body#search .top-bar h1 { font-size: 22px; line-height: 1.2; }
  body#search .top-bar .seo-intro, body#search #sep-stext-top, body#search #sep-stext { font-size: 13px; }

  /* Quick-bar — count on top, [Filter] [Sortieren] controls row below */
  body#search #search-quick-bar { flex-wrap: wrap; gap: 10px; }
  body#search #search-quick-bar .results-count { font-size: 12px; }
  body#search #search-quick-bar .qb-controls { display: flex; align-items: center; gap: 10px; margin-left: auto; }
  body#search #search-quick-bar .sort-type { margin-left: 0; }
  body#search #search-quick-bar .sort-type label { font-size: 12px; white-space: nowrap; }  /* no mid-word "Sortieren" wrap */
  body#search #search-quick-bar select { font-size: 12px; height: 34px; }
  body#search #search-quick-bar .qb-filter.isMobile {
    display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px;
    background: #fff; border: 1px solid var(--v5-border); color: var(--v5-text);
    font-family: var(--v5-font-button); font-size: 13px; font-weight: 500; line-height: 1; white-space: nowrap; border-radius: 0;
  }
  body#search #search-quick-bar .qb-filter i { font-size: 13px; line-height: 1; }

  /* sticky scroll bar (header .cresults) → Filter + Sortieren */
  body#search header .container.alt.cresults { padding: 8px 12px; }
  body#search header .cresults .cresults-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  body#search header .cresults .open-filters {
    display: inline-flex; align-items: center; gap: 6px; height: 36px; width: auto; padding: 0 14px; margin: 0;
    background: #fff; border: 1px solid var(--v5-border); color: var(--v5-text);
    font-family: var(--v5-font-button); font-size: 13px; font-weight: 500; line-height: 1; white-space: nowrap; border-radius: 0;
    text-align: left;
  }
  body#search header .cresults .open-filters i { font-size: 14px; }
  body#search header .cresults .sticky-sort { display: flex; align-items: center; }
  body#search header .cresults .sticky-sort select {
    height: 36px; padding: 0 28px 0 12px; max-width: 52vw;
    -webkit-appearance: none; appearance: none;   /* drop the native chevron so our custom one isn't doubled */
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path fill='%230d0d0d' d='M2 4l4 4 4-4'/></svg>") no-repeat right 10px center;
    background-size: 10px; border: 1px solid var(--v5-border); border-radius: 0;
    font-family: var(--v5-font-body); font-size: 13px; color: var(--v5-text);
  }

  /* Filter chips — wrap */
  body#search #search-filters { gap: 6px; }
  body#search #search-filters a { font-size: 11px; padding: 4px 8px 4px 10px; }

  /* Cards — stack vertically: image on top, content below */
  body#search #search-items > .products .simple-prod .simple-wrap {
    flex-direction: column;
    height: auto;
    min-height: 0;
  }
  body#search #search-items > .products .simple-prod .img-wrap {
    width: 100%;
    min-width: 0;
    height: 220px;
    flex: 0 0 auto;
  }
  body#search #search-items > .products .simple-prod .data {
    height: auto;
    padding: 12px 12px 60px;
  }
  body#search #search-items > .products .simple-prod .data h2.card-title-h {
    padding-right: 110px; /* room for smaller price block on mobile */
  }
  body#search #search-items > .products .simple-prod .data .card-price-block {
    top: 12px;
    right: 12px;
    font-size: 18px;
  }
  body#search #search-items > .products .simple-prod .data .card-price-block .cpb-brutto,
  body#search #search-items > .products .simple-prod .data .card-price-block .price,
  body#search #search-items > .products .simple-prod .data .card-price-block .eps-multicurrency-price {
    font-size: 18px;
  }
  body#search #search-items > .products .simple-prod .data > .contact {
    left: 12px;
    right: 12px;
    bottom: 12px;
    justify-content: flex-end;
    gap: 8px;
  }
  body#search #search-items > .products .simple-prod .data > .contact > a {
    padding: 6px 12px;
    font-size: 11px;
  }
  /* card seller row: company name (truncates) + icon-only message/call so it never overflows */
  body#search #search-items > .products .simple-prod .data > .contact { justify-content: space-between; gap: 8px; }
  body#search #search-items > .products .simple-prod .data > .contact > .card-seller { flex: 1 1 auto; min-width: 0; }
  body#search #search-items > .products .simple-prod .data > .contact > .card-seller .card-seller-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  body#search #search-items > .products .simple-prod .data > .contact > a:not(.card-seller) { flex: 0 0 auto; }
  body#search #search-items > .products .simple-prod .data > .contact > a:not(.card-seller) span { display: none; }
  body#search #search-items > .products .simple-prod .data > .contact > a:not(.card-seller) i { margin: 0; }

  /* breadcrumb: single scrollable line, drop the trailing crumb (it's the H1 below).
     Selector matches the 3-id pattern used at line ~580/601 so specificity wins. */
  body#search #search-main #search-breadcrumbs { white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
  body#search #search-main #search-breadcrumbs::-webkit-scrollbar { display: none; }
  body#search #search-main #search-breadcrumbs ul.breadcrumb li:last-child { display: none; }

  /* mobile filter drawer — sticky "Show results (N)" apply button pinned to the bottom */
  body#search #side-menu .box.filter .filter-apply {
    position: sticky; bottom: 0; z-index: 6;
    display: flex; align-items: center; justify-content: center; gap: 6px;
    margin: 0; height: 52px; padding: 0 16px;
    background: var(--v5-brand, #2e6aad); color: #fff; border: 0; border-radius: 0;
    font-family: var(--v5-font-button); font-size: 15px; font-weight: 600;
    box-shadow: 0 -2px 12px rgba(0,0,0,.12);
  }
  body#search #side-menu .box.filter .filter-apply:hover { background: #27598f; color: #fff; text-decoration: none; }

  /* Drawer "Land" country list: kill the stray horizontal scrollbar, let the
     country name shrink with ellipsis so the count always stays visible */
  body#search #side-menu .box.filter .standort-content { overflow-x: hidden; }
  body#search #side-menu .box.filter .standort-content .nice-scroll-prev,
  body#search #side-menu .box.filter .standort-content .nice-scroll-next { display: none; }
  body#search #side-menu .box.filter .standort-row { display: flex; align-items: center; gap: 6px; width: 100%; box-sizing: border-box; min-width: 0; overflow: hidden; }
  body#search #side-menu .box.filter .standort-row > input[type=checkbox],
  body#search #side-menu .box.filter .standort-row .standort-flag,
  body#search #side-menu .box.filter .standort-row .standort-count { flex: 0 0 auto; }
  body#search #side-menu .box.filter .standort-row .standort-name { flex: 1 1 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* Pagination — compact */
  body#search .paginate a,
  body#search .paginate ul li > span,
  body#search .paginate ul li > a {
    min-width: 32px;
    height: 32px;
    font-size: 12px;
  }

  /* Footer — stack into single column */
  body#search footer { padding: 32px 0 24px; font-size: 12px; }
  body#search footer > .container { padding: 0 12px; gap: 24px; }
  body#search footer section.one { flex-direction: column; gap: 24px; }
  body#search footer .col { flex: 1 1 100%; min-width: 0; }
  body#search footer section.two { flex-direction: column; align-items: flex-start; gap: 10px; }
  body#search footer section.two span { margin-left: 0; }

  /* SEO text — tighter */
  body#search #sep-stext h2 { font-size: 20px; }
  body#search #sep-stext h3 { font-size: 16px; }
  body#search #sep-stext p,
  body#search #sep-stext ul { font-size: 13px; }

  /* Show theme's mobile nav bar (was hidden on desktop) */
  body#search #navi-bar.isMobile { display: flex; }
}

/* Tiny phones: ≤420px — even tighter */
@media screen and (max-width: 420px) {
  body#search header a.logo img { height: 28px; max-height: 28px; }
  body#search header a.publish.btn { padding: 6px 10px; font-size: 11px; }
  body#search header a.publish.btn span { display: none; } /* icon-only */
  body#search .top-bar h1 { font-size: 20px; }
  body#search #search-items > .products .simple-prod .img-wrap { height: 180px; }
}
