/* One visual system for the public Expose index and the App portfolio.
   Both adapters retain their own copy, data, filters and authenticated actions. */
html:has(body.gb-overview) { font-size: 100% !important; }
body.gb-overview {
  --gb-ink: #202b25;
  --gb-muted: #67736b;
  --gb-line: #dfe5df;
  --gb-green: #82bb29;
  background: #f8faf8;
  color: var(--gb-ink);
  font-family: Inter, 'Inter Variable', Arial, sans-serif !important;
  font-size: 16px;
  line-height: 1.55;
  padding-top: 104px !important;
}
.gb-overview .container-large,
.gb-overview .search-interface-section > .container { width: 100%; max-width: 1280px !important; margin: 0 auto; }
.gb-overview .padding-global { padding-inline: 32px; }
.gb-overview .section_featured-grid .padding-section-large { padding-block: 28px 64px; }
.gb-overview .exp-hero,
.gb-overview .search-interface-section .text-center { text-align: left !important; margin: 0 !important; }
.gb-overview .exp-hero .heading-tagline {
  display: inline-flex;
  width: auto;
  padding: 4px 10px;
  border: 1px solid #dce8cf;
  border-radius: 6px;
  background: #edf4e5;
  color: #456321;
  font-size: 13px;
  font-weight: 600;
  line-height: 20px;
}
.gb-overview .exp-hero h1,
.gb-overview .search-interface-section h1 {
  max-width: 100%;
  margin: 0 !important;
  color: var(--gb-ink) !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  font-weight: 650 !important;
  line-height: 1.18 !important;
  letter-spacing: -.035em;
}
.gb-overview .exp-hero .spacer-small { padding-top: 12px; }
.gb-overview .exp-subline,
.gb-overview .search-interface-section .text-center p {
  max-width: 76ch;
  margin: 12px 0 0 !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  color: var(--gb-muted) !important;
}
.gb-overview .exp-count { margin-top: 12px; font-size: 14px; }
.gb-overview .spacer-medium { padding-top: 24px; }
.gb-overview .exp-filter {
  padding: 16px 18px;
  border: 1px solid var(--gb-line);
  border-radius: 12px;
  box-shadow: 0 2px 8px #20302003;
}
.gb-overview .exp-filter .exp-field { gap: 6px !important; padding: 0 !important; }
.gb-overview .exp-filter .exp-field > label { font-size: 12px; line-height: 18px; margin: 0; letter-spacing: .045em; }
.gb-overview .exp-filter .exp-field input,
.gb-overview .exp-filter .exp-field select,
.gb-overview .exp-filter .exp-multi__trigger {
  min-height: 42px;
  padding: 9px 12px;
  border: 1px solid var(--gb-line);
  border-radius: 8px;
  background-color: #fff;
  font-size: 14px;
  line-height: 22px;
}
.gb-overview .exp-filter .exp-field select,
.gb-overview .exp-filter .exp-multi__trigger { padding-right: 32px; }
.gb-overview .exp-filter__row--dropdowns,
.gb-overview .exp-filter__row--ranges,
.gb-overview .exp-filter__row--search { gap: 12px !important; }
.gb-overview .exp-filter__row--ranges,
.gb-overview .exp-filter__row--search { margin-top: 12px !important; }
.gb-overview .exp-multi__panel { border-radius: 10px; box-shadow: 0 12px 32px #20302014; }
.gb-overview .exp-multi__item { min-height: 40px; font-size: 14px; }
.gb-overview .exp-multi__text { max-width: 100%; }
.gb-overview :is(.gb-featured-grid, .portfolio13_list) {
  display: grid !important;
  grid-template-columns: repeat(3,minmax(0,1fr)) !important;
  gap: 20px !important;
  align-items: stretch;
}
.gb-overview :is(.gb-featured__card, .portfolio13_item) {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--gb-line) !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 6px #20302005 !important;
  transition: border-color .2s, box-shadow .2s !important;
}
.gb-overview :is(.gb-featured__card, .portfolio13_item):hover {
  transform: none !important;
  border-color: #a7bb99 !important;
  box-shadow: 0 8px 24px #2030200d !important;
}
.gb-overview :is(.top-properties_item-link, .portfolio13_item-link) {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 0;
  color: inherit;
  text-decoration: none;
}
.gb-overview :is(.top-properties_image-wrapper, .portfolio13_image-wrapper) {
  position: relative;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  aspect-ratio: 16 / 9;
  border-radius: 0 !important;
  overflow: hidden;
  flex-shrink: 0;
}
.gb-overview :is(.mapbox-image-container, .mapbox_static-map-wrapper-ratio, .mapbox_static-map-ratio) {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover;
  margin: 0;
}
.gb-overview :is(.top-tags-wrapper, .portfolio13_badge-stack) {
  position: absolute !important;
  inset: 12px 12px auto !important;
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  padding: 0 !important;
}
.gb-overview :is(.top-properties_kategorie-tag, .portfolio13_kategorie-tag) {
  position: static !important;
  display: inline-flex;
  max-width: 100%;
  padding: 5px 9px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
  font-weight: 600;
  line-height: 18px;
  white-space: normal;
}
.gb-overview :is(.top-properties_kategorie-tag, .portfolio13_kategorie-tag) .text-size-small { font-size: inherit !important; }
.gb-overview :is(.top-properties_title-wrapper, .portfolio13_title-wrapper) {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 12px;
  padding: 16px 18px !important;
}
.gb-overview :is(.top-properties_item-content-top, .portfolio13_item-content-top) { display: flex; flex: 1; flex-direction: column; gap: 6px; }
.gb-overview :is(.gb-featured__card, .portfolio13_item) .heading-style-h6 {
  margin: 0 !important;
  font-size: 17px !important;
  font-weight: 600;
  letter-spacing: -.015em;
  line-height: 1.4 !important;
}
.gb-overview :is(.gb-featured__card, .portfolio13_item) .heading-style-h6.text-color-gray { font-size: 12px !important; font-weight: 500; color: var(--gb-muted); letter-spacing: .04em; }
.gb-overview :is(.top-properties_tag-list, .portfolio13_tag-list) {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin: 8px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid #e9ede8;
}
.gb-overview :is(.top-properties_tag-item, .portfolio13_tag-item) { display: flex; flex-direction: column; gap: 3px; margin: 0; }
.gb-overview :is(.top-properties_tag-item, .portfolio13_tag-item) > div:first-child {
  font-size: 12px; line-height: 18px; font-weight: 500; text-transform: uppercase; letter-spacing: .045em; color: var(--gb-muted);
}
.gb-overview :is(.top-properties_tag-item, .portfolio13_tag-item) strong { font-weight: inherit; }
.gb-overview :is(.top-properties_tag-item-value, .portfolio13_tag-item-value) { display: flex; align-items: baseline; gap: 4px; color: var(--gb-ink); font-weight: 600; }
.gb-overview :is(.gb-featured__card, .portfolio13_item) .text-size-regular { font-size: 16px !important; line-height: 1.5; }
.gb-overview :is(.top-properties_button-wrapper, .portfolio13_button-wrapper) { margin-top: auto; padding-top: 8px; }
.gb-overview :is(.gb-featured__card, .portfolio13_item) .button.is-text.is-icon {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
  color: #52791b;
  line-height: 22px;
}
/* App template adapter: retain its existing search and saved-property behavior. */
.gb-overview .search-interface-section { display: block !important; padding: 28px 32px 0 !important; margin: 0 !important; background: transparent; }
.gb-overview .search-interface-section > .container { padding: 0 !important; }
.gb-overview .search-interface-section .text-center { display: block !important; }
.gb-overview .gb-portfolio-search { margin-top: 24px; background: #fff !important; padding: 16px 18px !important; border: 1px solid var(--gb-line); border-radius: 12px !important; box-shadow: 0 2px 8px #20302003 !important; }
body.gb-overview .search-interface-section .container > div.gb-portfolio-search { background: #fff !important; }
.gb-overview .gb-portfolio-search > div { gap: 8px !important; }
.gb-overview .gb-portfolio-search input,
.gb-overview #topMainCategoryDropdown,
.gb-overview #topSubcategoryDropdown { min-height: 42px !important; border: 1px solid var(--gb-line) !important; border-radius: 8px !important; padding: 9px 12px !important; font-size: 14px !important; line-height: 22px !important; }
.gb-overview #topMainCategoryText,
.gb-overview #topSubcategoryText { font-size: 14px !important; }
.gb-overview #topSearchInput { border: 1px solid var(--gb-line) !important; }
.gb-overview #topSearchInput:focus { border-color: #82bb29 !important; box-shadow: 0 0 0 3px #82bb2926; }
.gb-overview #topSearchButton { min-height: 42px !important; margin: 0 !important; padding: 9px 16px !important; border-radius: 8px !important; font-size: 14px !important; }
.gb-overview .section_filters5 .padding-section-large { padding: 20px 0 64px !important; }
.gb-overview .filters5_layout { display: flex !important; flex-direction: column; gap: 16px !important; }
.gb-overview .filters5_feed-header { margin: 0 !important; padding: 0 !important; }
.gb-overview .filters5_results-text { font-size: 14px; color: var(--gb-muted); }
.gb-overview .filters5_feed { width: 100%; }
.gb-overview .filters5_empty { grid-column: 1 / -1; }
.gb-overview .property-like-btn { top: 12px; right: 12px; width: 36px; height: 36px; }
.gb-overview .portfolio13_item:has(.property-like-btn) .portfolio13_badge-stack { right: 56px !important; }
.gb-overview .exp-empty { border: 1px solid var(--gb-line); border-radius: 12px; background: #fff; }
.gb-overview .footer_component { margin-top: 0; font-size: 14px; }
.gb-overview .footer_component .padding-section-medium { padding-block: 40px; }
.gb-overview :focus-visible { outline: 2px solid #52791b; outline-offset: 3px; }
@media (max-width: 991px) {
  .gb-overview :is(.gb-featured-grid, .portfolio13_list) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .gb-overview .gb-portfolio-search > div > div { min-width: 0 !important; }
}
@media (max-width: 599px) {
  body.gb-overview { padding-top: 92px !important; }
  .gb-overview .padding-global { padding-inline: 16px !important; }
  .gb-overview .search-interface-section { padding: 20px 16px 0 !important; }
  .gb-overview .section_featured-grid .padding-section-large { padding-top: 20px; }
  .gb-overview :is(.gb-featured-grid, .portfolio13_list) { grid-template-columns: minmax(0,1fr) !important; gap: 16px !important; }
  .gb-overview .exp-filter { padding: 14px; }
  .gb-overview .exp-filter .exp-field input,
  .gb-overview .exp-filter .exp-field select,
  .gb-overview .exp-filter .exp-multi__trigger,
  .gb-overview .gb-portfolio-search input { font-size: 16px !important; min-height: 44px !important; }
  .gb-overview .exp-filter__row--dropdowns { grid-template-columns: 1fr; }
  .gb-overview .gb-portfolio-search { padding: 14px !important; }
  .gb-overview .gb-portfolio-search input { padding-left: 40px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .gb-overview :is(.gb-featured__card, .portfolio13_item) { animation: none !important; transition: none !important; }
}
