/* LP47 — compact directory and newsroom. Homepage styles stay in lp-mobile-home.css. */
body .lp-directory-wrap { padding: 16px 20px 40px; }
body .lp-directory-wrap .lp-directory-hero {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px 20px; padding: 16px 18px; margin-bottom: 10px; border-radius: 16px;
}
body .lp-directory-wrap .lp-directory-hero h1 {
  margin: 0; font-size: 1.5rem; line-height: 1.25; letter-spacing: -.025em;
}
body .lp-directory-wrap .lp-directory-actions { gap: 8px; margin: 0; flex-shrink: 0; }
body .lp-directory-wrap .lp-directory-actions button {
  min-height: 44px; padding: 8px 12px; font-size: .875rem; line-height: 1.25;
}
body .lp-directory-wrap .lp-directory-search {
  grid-template-columns: minmax(180px,2fr) minmax(0,1fr) minmax(0,1fr) auto;
  gap: 8px; padding: 10px; border-radius: 14px;
}
body .lp-directory-wrap .lp-directory-search input,
body .lp-directory-wrap .lp-directory-search select,
body .lp-directory-wrap .lp-directory-search button {
  height: 44px; min-height: 44px; font-size: 1rem; box-sizing: border-box;
}
body .lp-directory-wrap .lp-directory-results-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 8px; margin: 10px 0 12px; font-size: .875rem;
}
body .lp-directory-wrap .lp-directory-results-head h1 { margin: 0; font-size: 1.4rem; }
.lp-browse-view,
body .lp-newsroom-v36 .lp-news-view {
  display: inline-grid; grid-template-columns: 1fr 1fr; grid-column: auto;
  flex: 0 0 auto; gap: 2px; padding: 3px; min-width: 0; width: auto;
  border: 1px solid #ccd9e6; border-radius: 12px; background: #eaf0f6;
}
.lp-browse-view button,
body .lp-newsroom-v36 .lp-news-view button {
  min-width: 74px; min-height: 44px; padding: 8px 11px;
  border: 0; border-radius: 9px; background: transparent; color: #39536e;
  font: inherit; font-size: .875rem; font-weight: 750; line-height: 1.2; cursor: pointer;
}
.lp-browse-view button.active,
body .lp-newsroom-v36 .lp-news-view button.active {
  background: #0d335c; color: #fff; box-shadow: 0 2px 6px #071a351c;
}
.lp-browse-view button:focus-visible,
body .lp-newsroom-v36 button:focus-visible {
  outline: 3px solid #287dd0; outline-offset: 2px;
}
body .lp-directory-wrap .lp-directory-grid { gap: 18px; align-items: stretch; }
body .lp-directory-wrap .lp-business-photo-card {
  --lp-card-pad: 18px;
  min-width: 0; min-height: 0; border: 1px solid #bdcddd;
  border-radius: 16px; background: #fff; box-shadow: 0 5px 16px #071a350d;
}
body .lp-directory-wrap .lp-business-photo-card .lp-business-card-body {
  min-width: 0; padding: var(--lp-card-pad);
}
body .lp-directory-wrap .lp-business-photo-card .lp-business-name::after { border-radius: 16px; }
body .lp-directory-wrap .lp-business-photo-card .lp-business-card-foot { padding-top: 12px; }
body .lp-directory-wrap .lp-business-photo-card .lp-place-open {
  flex-shrink: 0; gap: 6px;
  margin: 14px calc(-1 * var(--lp-card-pad)) calc(-1 * var(--lp-card-pad));
  padding: 12px var(--lp-card-pad); min-height: 44px; box-sizing: border-box;
  background: var(--place-soft, #eef6ff); border-top: 1px solid #d4e0ec;
  color: var(--place-accent, #1668bd); font-size: .9375rem; font-weight: 750;
}
body .lp-directory-wrap .lp-directory-grid.is-list { grid-template-columns: minmax(0,1fr); gap: 14px; }
body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-photo-card {
  --lp-list-photo: 190px; --lp-card-pad: 16px;
  display: grid; grid-template-columns: var(--lp-list-photo) minmax(0,1fr);
}
body .lp-directory-wrap .lp-directory-grid.is-list .lp-place-cover { align-self: stretch; min-height: 180px; }
body .lp-directory-wrap .lp-directory-grid.is-list .lp-place-cover img {
  position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover;
}
body .lp-directory-wrap .lp-directory-grid.is-list .lp-place-cover figcaption {
  right: 8px; left: 8px; bottom: 8px; padding: 5px 6px; text-align: center;
  font-size: .75rem; line-height: 1.25; white-space: normal;
}
body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-fav {
  top: 8px; right: auto; left: calc(var(--lp-list-photo) - 52px);
}
body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-title-text {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
}
body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-desc { -webkit-line-clamp: 2; }

/* Search and the view switch remain visible; regions and topics open on demand. */
body .lp-newsroom-v36 .lp-newsroom-intro {
  min-height: 0 !important; padding: 16px 18px !important; margin: 0 0 10px !important;
  align-items: center; gap: 16px; border-radius: 16px;
}
body .lp-newsroom-v36 .lp-newsroom-intro h1 {
  position: relative; z-index: 1; margin: 0;
  font-size: 1.5rem !important; line-height: 1.25; letter-spacing: -.025em;
}
body .lp-newsroom-v36 .lp-newsroom-intro > strong { flex-shrink: 0; font-size: 1.5rem; line-height: 1.1; }
body .lp-newsroom-v36 .lp-newsroom-intro > strong small { margin-top: 4px; font-size: .75rem; letter-spacing: 0; text-transform: none; }
body .lp-newsroom-v36 .lp-newsroom-filterbox { padding: 10px; margin-bottom: 14px; border-radius: 14px; }
body .lp-newsroom-v36 .lp-newsroom-tools-v36 {
  grid-template-columns: minmax(0,1fr) auto !important;
  gap: 10px !important; margin: 0 !important; align-items: center;
}
body .lp-newsroom-v36 .lp-newsroom-search-wrap { min-width: 0; min-height: 44px; }
body .lp-newsroom-v36 .lp-newsroom-search-wrap:focus-within,
body .lp-newsroom-v36 .lp-newsroom-area:focus-within { outline: 3px solid #287dd0; outline-offset: 1px; }
body .lp-newsroom-v36 .lp-newsroom-search-wrap input { min-height: 44px; font-size: 1rem; }
.lp-news-browse-tools { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-width: 0; }
.lp-browse-filters {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 8px 12px; border: 1px solid #c9d7e5; border-radius: 11px;
  background: #fff; color: #203e5e; font: inherit; font-size: .875rem; font-weight: 750; cursor: pointer;
}
.lp-browse-filters.has-filters { background: #eaf3ff; border-color: #89b2df; color: #145b9f; }
body .lp-newsroom-v36 .lp-news-filter-fields { padding-top: 12px; margin-top: 10px; border-top: 1px solid #e0e8ef; min-width: 0; }
body .lp-newsroom-v36 .lp-news-filter-fields[hidden] { display: none !important; }
body .lp-newsroom-v36 .lp-newsroom-area { max-width: 340px; }
body .lp-newsroom-v36 .lp-newsroom-area select { font-size: 1rem; }
body .lp-newsroom-v36 .lp-newsroom-area > span { font-size: .8125rem; }
body .lp-newsroom-v36 .lp-news-filter-label { margin: 12px 0 6px; font-size: .75rem; }
body .lp-newsroom-v36 .lp-newsroom-regions,
body .lp-newsroom-v36 .lp-newsroom-chips {
  width: auto; max-width: 100%; margin: 0; padding: 3px 2px 6px;
  overscroll-behavior-x: contain;
}
body .lp-newsroom-v36 .lp-newsroom-region,
body .lp-newsroom-v36 .lp-newsroom-chip { min-height: 44px !important; flex-shrink: 0; }
.lp-browse-reset { min-height: 44px; margin-top: 6px; padding: 8px 0; border: 0; background: transparent; color: #1767b1; font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }

@media (max-width: 800px) {
  body .lp-directory-wrap { padding: 12px 12px 35px; }
  body .lp-directory-wrap .lp-directory-hero { flex-wrap: wrap; padding: 13px 14px; }
  body .lp-directory-wrap .lp-directory-hero h1 { font-size: 1.375rem; }
  body .lp-directory-wrap .lp-directory-actions { flex-shrink: 1; }
  body .lp-directory-wrap .lp-directory-search {
    grid-template-columns: repeat(4,minmax(0,1fr));
    grid-template-areas: 'query query query submit' 'borough borough category category';
    padding: 8px; gap: 7px;
  }
  body .lp-directory-wrap .lp-directory-search input { grid-area: query; padding: 0 9px; }
  body .lp-directory-wrap .lp-directory-search select[name="borough"] { grid-area: borough; }
  body .lp-directory-wrap .lp-directory-search select[name="category"] { grid-area: category; }
  body .lp-directory-wrap .lp-directory-search button { grid-area: submit; padding: 0 6px; }
  body .lp-directory-wrap .lp-directory-grid { grid-template-columns: minmax(0,1fr); gap: 18px; }
  body .lp-directory-wrap .lp-business-photo-card { --lp-card-pad: 16px; }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-photo-card {
    --lp-list-photo: clamp(90px,27vw,140px); --lp-card-pad: 12px;
  }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-photo-card h3 { font-size: 1.0625rem; line-height: 1.35; margin: 5px 0 7px; }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-category { font-size: .75rem; line-height: 1.3; }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-place { font-size: .875rem; line-height: 1.4; margin-bottom: 7px; }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-desc { font-size: .9375rem; line-height: 1.45; }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-card-foot { padding-top: 10px; }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-business-tag { font-size: .75rem; line-height: 1.35; }
  body .lp-directory-wrap .lp-directory-grid.is-list .lp-place-open { margin-top: 10px; font-size: .875rem; }
}

@media (max-width: 760px) {
  body .lp-newsroom-v36 .lp-newsroom-intro { padding: 13px 14px !important; gap: 10px; }
  body .lp-newsroom-v36 .lp-newsroom-intro h1 { font-size: 1.375rem !important; }
  body .lp-newsroom-v36 .lp-newsroom-intro > strong { font-size: 1.25rem; }
  body .lp-newsroom-v36 .lp-newsroom-tools-v36 { grid-template-columns: minmax(0,1fr) !important; gap: 8px !important; }
  body .lp-newsroom-v36 .lp-newsroom-area { max-width: none; }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-cards,
  body .lp-newsroom-v36 .lp-newsroom-grid.is-list { grid-template-columns: minmax(0,1fr) !important; gap: 14px !important; }
  /* Explicit modes override the old rule that forced BOTH into a left-photo row. */
  body .lp-newsroom-v36 .lp-newsroom-grid.is-cards .lp-newsroom-card {
    grid-template-columns: minmax(0,1fr) !important;
    grid-template-rows: 160px auto !important; min-height: 0 !important; height: auto !important;
  }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-cards .lp-newsroom-card .lp-feed-image {
    width: 100% !important; height: 160px !important; min-height: 0 !important;
  }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-list .lp-newsroom-card {
    grid-template-columns: clamp(90px,27vw,140px) minmax(0,1fr) !important;
    grid-template-rows: minmax(160px,auto) !important; min-height: 0 !important; height: auto !important;
  }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-list .lp-newsroom-card .lp-feed-image {
    width: 100% !important; height: 100% !important; min-height: 160px !important;
  }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-list .lp-newsroom-card-copy { min-width: 0; padding: 12px !important; }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-cards .lp-newsroom-card-copy { padding: 14px !important; }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-list .lp-news-card-top { flex-wrap: wrap; gap: 4px; }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-list .lp-newsroom-card h3 { font-size: 1.0625rem !important; line-height: 1.35 !important; -webkit-line-clamp: 3 !important; }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-list .lp-newsroom-card p { font-size: .9375rem !important; line-height: 1.45 !important; -webkit-line-clamp: 2 !important; }
  body .lp-newsroom-v36 .lp-newsroom-grid.is-cards .lp-newsroom-card p { -webkit-line-clamp: 2 !important; }
  body .lp-newsroom-v36 .lp-newsroom-grid .lp-newsroom-card small { font-size: .8125rem !important; line-height: 1.4; white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  body .lp-directory-wrap .lp-business-photo-card,
  body .lp-newsroom-v36 .lp-newsroom-grid .lp-newsroom-card { transition: none; }
}

/* Direct /wiadomosci and /firmy links use the PHP page, with native details/links. */
body.public-browse-page .public-hero { padding: 18px 0; }
body.public-browse-page .public-hero h1 { margin: 0; font-size: 1.6rem; line-height: 1.25; letter-spacing: -.025em; }
body.public-browse-page .public-hero .public-kicker,
body.public-browse-page .public-hero p { display: none; }
body.public-browse-page .public-main { padding-top: 16px; }
body.public-browse-page .public-news-filters { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 10px; }
body.public-browse-page .public-news-search { grid-column: 1 / -1; grid-template-columns: minmax(0,1fr) auto; margin: 0; }
body.public-browse-page .public-news-search input[type="search"] { font-size: 1rem; }
body.public-browse-page .public-news-search button { display: block; font-size: .875rem; padding: 0 12px; }
body.public-browse-page .public-view-switch { width: auto; min-width: 0; gap: 2px; padding: 3px; margin: 0; align-self: start; }
body.public-browse-page .public-news-filters > .public-view-switch { grid-column: 2; grid-row: 2; z-index: 1; }
body.public-browse-page .public-view-switch a { min-height: 44px; font-size: .875rem; padding: 0 11px; }
.public-browse-filters { grid-column: 1 / -1; grid-row: 2; min-width: 0; }
.public-browse-filters summary { box-sizing: border-box; width: fit-content; max-width: calc(100% - 170px); min-height: 50px; padding: 14px 10px; border: 1px solid #c9d7e5; border-radius: 11px; color: #203e5e; font-size: .875rem; font-weight: 750; cursor: pointer; }
.public-browse-fields { border-top: 1px solid #e0e8ef; padding-top: 10px; margin-top: 10px; }
.public-browse-fields > small { display: block; margin: 8px 0; color: #64748b; font-size: .8125rem; }
body.public-browse-page .public-filter-scroll { width: auto; max-width: 100%; padding: 3px 2px 6px; margin: 0; }
body.public-browse-page .public-filter-chip { min-height: 44px; font-size: .875rem; }
.public-browse-reset { display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; font-size: .875rem; font-weight: 700; color: #1767b1; }
body.public-browse-page .public-places-toolbar { margin-bottom: 12px; gap: 8px; flex-wrap: wrap; }
body.public-browse-page .public-toolbar > span { font-size: .875rem; }
body.public-browse-page .public-places-grid { gap: 18px; }
body.public-browse-page .public-place-photo-card { min-width: 0; border-color: #bdcddd; border-radius: 16px; }
body.public-browse-page .public-place-copy { display: flex; flex-direction: column; padding: 16px; min-width: 0; }
body.public-browse-page .public-place-copy h2 { font-size: 1.1875rem; line-height: 1.35; }
body.public-browse-page .public-place-copy p { font-size: .9375rem; line-height: 1.4; }
body.public-browse-page .public-place-copy .public-place-cta {
  margin: auto -16px -16px; padding: 12px 16px; border-top: 1px solid #cdddec;
  background: #eaf3ff; color: #145b9f; font-size: .9375rem; font-weight: 750;
}
body.public-browse-page .public-places-grid.is-list { grid-template-columns: minmax(0,1fr); gap: 14px; }
body.public-browse-page .public-places-grid.is-list .public-place-photo-card { display: grid; grid-template-columns: 190px minmax(0,1fr); }
body.public-browse-page .public-places-grid.is-list .lp-place-cover { min-height: 180px; align-self: stretch; }
body.public-browse-page .public-places-grid.is-list .lp-place-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.public-browse-page .public-places-grid.is-list .lp-place-cover figcaption { left: 8px; right: 8px; bottom: 8px; font-size: .75rem; line-height: 1.25; text-align: center; white-space: normal; }
body.public-browse-page .public-grid.news .public-card h2 { font-size: 1.125rem; line-height: 1.35; }
body.public-browse-page .public-grid.news .public-card p { font-size: .9375rem; line-height: 1.45; }
body.public-browse-page .public-grid.news .public-card-meta { font-size: .8125rem; }
body.public-browse-page summary:focus-visible,
body.public-browse-page a:focus-visible { outline: 3px solid #287dd0; outline-offset: 2px; }
@media (max-width: 700px) {
  body.public-browse-page .public-hero { padding: 14px 0; }
  body.public-browse-page .public-hero h1 { font-size: 1.375rem; }
  body.public-browse-page .public-toolbar h2 { font-size: 1.125rem; }
  body.public-browse-page .public-places-grid.is-list .public-place-photo-card { grid-template-columns: clamp(90px,27vw,140px) minmax(0,1fr); }
  body.public-browse-page .public-places-grid.is-list .public-place-copy { padding: 12px; }
  body.public-browse-page .public-places-grid.is-list .public-place-copy h2 { font-size: 1.0625rem; }
  body.public-browse-page .public-places-grid.is-list .public-place-cta { margin: auto -12px -12px; padding: 12px; font-size: .875rem; }
  body.public-browse-page .public-grid.news.is-cards .public-card { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: 160px auto; min-height: 0; }
  body.public-browse-page .public-grid.news.is-cards .public-card-media { height: 160px; min-height: 0; }
  body.public-browse-page .public-grid.news.is-list .public-card { grid-template-columns: clamp(90px,27vw,140px) minmax(0,1fr); }
  body.public-browse-page .public-grid.news.is-list .public-card-copy { min-width: 0; padding: 12px; }
  body.public-browse-page .public-grid.news.is-list .public-card h2 { font-size: 1.0625rem; }
  body.public-browse-page .public-grid.news .public-card p { -webkit-line-clamp: 2; }
}
