/* LokalnyBytom.pl — wspólne, responsywne widoki treści.
   Wczytywać po arkuszach sekcji. Nawigacja i panele mają własne arkusze. */
body.lbs-shell .site-main {
  min-width: 0;
  line-height: 1.6;
}
body.lbs-shell .site-main :where(.row > *, .d-flex > *, .card-body, article, aside, form, label) {
  min-width: 0;
}
body.lbs-shell .site-main :where(h1, h2, h3, h4, p, .card-title, .breadcrumb, .list-group-item, .form-text, .alert, .price) {
  overflow-wrap: anywhere;
}
body.lbs-shell .site-main :where(img, video, iframe, svg) { max-width: 100%; }
body.lbs-shell .site-main :where(input, select, textarea) { min-width: 0; max-width: 100%; }
body.lbs-shell .site-main textarea { resize: vertical; }
body.lbs-shell .site-main :where(.btn, .lb-local-button, .lb-button, .lbh-btn, .jb26-yellow-btn) {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.4;
}
body.lbs-shell .site-main :where(.btn, .lb-local-button, .lb-button, .lbh-btn, .jb26-yellow-btn, summary) {
  min-height: 44px;
}
body.lbs-shell .site-main :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #087ba3;
  outline-offset: 3px;
}
body.lbs-shell .site-main :where(.pagination, .article-actions, .share) {
  flex-wrap: wrap;
  gap: 5px;
  max-width: 100%;
}
body.lbs-shell .site-main :where(.page-link, .chip) { min-height: 44px; }
body.lbs-shell .site-main .page-link { display: flex; align-items: center; justify-content: center; }
body.lbs-shell .site-main .badge { max-width: 100%; white-space: normal; line-height: 1.4; }
body.lbs-shell .site-main .table-responsive {
  max-width: 100%;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}
body.lbs-shell .site-main :where(.article-body, .thread-content, .forum-post-content) {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.8;
}
body.lbs-shell .site-main :where(.article-body, .thread-content, .forum-post-content) :where(img, video) {
  max-width: 100% !important;
  height: auto !important;
}
body.lbs-shell .site-main :where(.article-body, .thread-content, .forum-post-content) :where(figure, p, div) {
  max-width: 100%;
}
body.lbs-shell .site-main :where(.article-body, .thread-content, .forum-post-content) figure {
  margin-inline: 0;
}
body.lbs-shell .site-main :where(.article-body, .thread-content, .forum-post-content) table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
body.lbs-shell .site-main pre { max-width: 100%; overflow-x: auto; }
body.lbs-shell .site-main :where(.article-body, .thread-content) iframe[src*="youtu"],
body.lbs-shell .site-main :where(.article-body, .thread-content) iframe[src*="vimeo"] {
  width: 100%; height: auto; aspect-ratio: 16 / 9;
}
body.lbs-shell .site-main :where(.bbcode-toolbar, .fhe-toolbar) { flex-wrap: wrap; }
body.lbs-shell .site-main :where(.bbcode-editor, .forum-html-editor, .fhe-visual) {
  min-width: 0; max-width: 100%; overflow-wrap: anywhere;
}
body.lbs-shell .site-main [id] { scroll-margin-top: 100px; }
/* Bootstrap row widths must not be retained by children of a CSS grid. */
body.lbs-shell .site-main .row.job-facts {
  margin-inline: 0;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(min(145px, 100%), 1fr));
}
body.lbs-shell .site-main .row.job-facts > .col { width: auto; padding: 0; margin: 0; }
body.lbs-shell .site-main .job-facts .fact { height: 100%; overflow-wrap: anywhere; }
body.lbs-shell .site-main :where(.gallery-carousel, .gallery-thumbs) { min-width: 0; max-width: 100%; }
body.lbs-shell .site-main .gallery-carousel img { object-fit: contain; }
body.lbs-shell .site-main .gallery-thumbs button { flex: 0 0 72px; min-width: 0; min-height: 48px; }
body.lbs-shell .site-main :where(.contact-box, .lb-detail-specs) { overflow-wrap: anywhere; }
body.lbs-shell .site-main .lb-detail-specs :where(dt, dd) { min-width: 0; overflow-wrap: anywhere; }
body.lbs-shell .site-main .community-post { padding: 0; }
body.lbs-shell .site-main .community-post h2 { font-size: 1.05rem; line-height: 1.45; }
body.lbs-shell .site-main .transfer-table { width: 100%; table-layout: fixed; }
body.lbs-shell .site-main .transfer-table th { width: 30%; }
body.lbs-shell .site-main .transfer-table :where(th, td) {
  white-space: normal; overflow-wrap: anywhere; word-break: normal; vertical-align: top;
}
body.lbs-shell .site-main .transfer-table .btn { vertical-align: middle; }
/* Account messenger: one consistent list / conversation breakpoint. */
body.lbs-shell .site-main .messenger {
  height: min(720px, calc(100dvh - 190px));
  min-height: 420px;
}
body.lbs-shell .site-main .messenger > .row {
  display: grid;
  grid-template-columns: minmax(210px, 34%) minmax(0, 1fr);
  flex: 1;
  width: 100%;
  min-height: 0;
  margin: 0;
}
body.lbs-shell .site-main .messenger :where(.conv-list, .conv-pane) {
  width: auto; max-width: 100%; min-width: 0; min-height: 0;
}
body.lbs-shell .site-main .conv-list .list-group-item { display: block; }
body.lbs-shell .site-main .conv-list .list-group-item > .d-flex { gap: 8px; }
body.lbs-shell .site-main .conv-list .list-group-item > .d-flex small { flex-shrink: 0; }
body.lbs-shell .site-main .conv-list .list-group-item.active {
  color: #fff; background: #082e51; border-color: #082e51;
}
body.lbs-shell .site-main .conv-pane { overflow: hidden; }
body.lbs-shell .site-main .conv-head { flex-shrink: 0; }
body.lbs-shell .site-main .conv-head > form { flex-shrink: 0; }
body.lbs-shell .site-main .conv-body { min-height: 0; overscroll-behavior-y: contain; }
body.lbs-shell .site-main .conv-form { flex-shrink: 0; }
body.lbs-shell .site-main .conv-form textarea { resize: none; }
body.lbs-shell .site-main .conv-form button { flex: 0 0 46px; }
body.lbs-shell .site-main .msg :where(.bubble, .meta) { max-width: 100%; overflow-wrap: anywhere; }
/* Every event filter keeps its label and is usable with touch or keyboard. */
body.lbs-shell .site-main .events-filter-form { align-items: stretch; }
body.lbs-shell .site-main .events-filter-form > :where(input, select) { flex: 1 1 145px; }
body.lbs-shell .site-main .events-filter-form > label { display: inline-flex; align-items: center; justify-content: center; }
body.lbs-shell .site-main .cal-nav { gap: 10px; }
body.lbs-shell .site-main .cal-nav h2 { flex: 1; min-width: 0; line-height: 1.4; }
body.lbs-shell .site-main .cal-nav > :where(a, div) { flex-shrink: 0; }
body.lbs-shell .site-main .cal-cell { min-width: 0; }
body.lbs-shell .site-main .cal-event { white-space: normal; overflow-wrap: anywhere; }
/* Home: keep section headings, story titles and metadata readable. */
body.lbs-shell .site-main :where(.lbh-head, .lbh-popular-head) { flex-wrap: wrap; gap: 8px 14px; }
body.lbs-shell .site-main .lbh-head > a { white-space: normal; }
body.lbs-shell .site-main :where(.lbh-meta, .lbh-lead-meta) { flex-wrap: wrap; gap: 6px 12px; }
body.lbs-shell .site-main :where(.lbh-top > *, .lbh-news-feature > *, .lbh-news-row > *, .lbh-bottom > *) { min-width: 0; }
body.lbs-shell .site-main :where(.lbh-news-mini h3, .lbh-ncard h3) { overflow-wrap: anywhere; }
body.lbs-shell .site-main .lbh-news-mini h3 {
  display: block; -webkit-line-clamp: unset; line-clamp: unset; overflow: visible;
}
body.lbs-shell .site-main .lbh-news-mini-body { overflow: visible; }
body.lbs-shell .site-main :where(.lb-local-section-head, .lb-local-results-head, .lb-search-section-head, .jb26-results-head) {
  flex-wrap: wrap; gap: 10px 16px;
}
body.lbs-shell .site-main .lb-local-section-head > a { white-space: normal; }
/* A nonshrinking action link and wrapping heading prevent its arrow painting
   outside narrow article/district section headers. */
body.lbs-shell .site-main .section-head { flex-wrap: wrap; }
body.lbs-shell .site-main .section-head > .section-title { flex: 1 1 180px; margin-bottom: 0; }
body.lbs-shell .site-main .section-head > .section-more {
  display: inline-flex; align-items: center; gap: 5px; flex-shrink: 0;
  max-width: 100%; min-height: 44px; white-space: normal !important;
}
body.lbs-shell .site-main .lbh-topics > a { min-width: 0; }
body.lbs-shell .site-main .lbh-topics > a > span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }

body.lbs-shell .site-main :where(.lb-local-search, .lb-search, .jb26-hero-search) > * { min-width: 0; }
body.lbs-shell .site-main :where(.lb-local-search, .lb-search) :where(input, select) { min-height: 44px; }
body.lbs-shell .site-main .lb-map-toolbar { gap: 10px; }
body.lbs-shell .site-main .lb-map-toolbar > div { min-width: 0; }
body.lbs-shell .site-main .lb-map-toolbar button { flex-shrink: 0; min-height: 44px; }
@media (min-width: 992px) and (max-width: 1199.98px) {
  body.lbs-shell .site-main .lbh-latest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lbs-shell .site-main .jb26-columns { grid-template-columns: minmax(190px, 25%) minmax(0, 1fr); }
  body.lbs-shell .site-main .jb26-right-rail { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
  body.lbs-shell .site-main .messenger { height: min(680px, calc(100dvh - 160px)); min-height: 400px; }
  body.lbs-shell .site-main .messenger > .row { grid-template-columns: minmax(0, 1fr); }
  body.lbs-shell .site-main .messenger .conv-list { width: 100%; border-right: 0 !important; }
  body.lbs-shell .site-main .messenger.has-conv .conv-list,
  body.lbs-shell .site-main .messenger:not(.has-conv) .conv-pane { display: none !important; }
  body.lbs-shell .site-main .messenger.has-conv .conv-pane { width: 100%; }
  body.lbs-shell .site-main .lb-article-grid { grid-template-columns: minmax(0, 1fr); }
  body.lbs-shell .site-main .lb-article-page .lb-article-sidebar .lb-sidebar-inner { position: static; }
  body.lbs-shell .site-main .lb-local-bottom-cta { flex-wrap: wrap; }
  body.lbs-shell .site-main .lba-grid > * { min-width: 0; }
}
@media (max-width: 767.98px) {
  body.lbs-shell .site-main { font-size: 16px; }
  body.lbs-shell .site-main :where(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea, [contenteditable="true"]) {
    font-size: 16px;
  }
  body.lbs-shell .site-main :where(input[type="date"], input[type="datetime-local"], input[type="time"]) { width: 100%; }
  body.lbs-shell .site-main :where(.form-control, .form-select) { min-height: 44px; }
  body.lbs-shell .site-main :where(.chips, .news-categories) { flex-wrap: wrap; overflow: visible; }
  body.lbs-shell .site-main .chip { white-space: normal; max-width: 100%; line-height: 1.4; }
  body.lbs-shell .site-main .article-title { font-size: clamp(25px, 6vw, 34px); line-height: 1.2; letter-spacing: -.025em; }
  body.lbs-shell .site-main .gallery-carousel img { height: clamp(210px, 65vw, 440px); }
  body.lbs-shell .site-main .events-filter-form {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; margin-top: 10px;
  }
  body.lbs-shell .site-main .events-filter-form > :where(input, select) { width: 100%; max-width: 100% !important; }
  body.lbs-shell .site-main .events-filter-form > input[type="search"] { grid-column: 1 / -1; }
  body.lbs-shell .site-main .events-filter-form > button { grid-column: 1 / -1; }
  body.lbs-shell .site-main .cal-nav h2 { font-size: clamp(14px, 3vw, 18px); }
  body.lbs-shell .site-main .lb-classified-search { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lbs-shell .site-main .lb-classified-search > label:first-child { grid-column: 1 / -1; }
  body.lbs-shell .site-main .lb-classified-search > button { grid-column: 1 / -1; }
  body.lbs-shell .site-main .lb-local-page .lb-offer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lbs-shell .site-main .lb-local-page .lb-offer-grid .card-title { font-size: 15px; }
  body.lbs-shell .site-main .lb-local-page .lb-offer-grid .card-meta { font-size: 12px; }
  body.lbs-shell .site-main .jb26-job-meta { font-size: 12px; line-height: 1.5; }
  body.lbs-shell .site-main .jb26-company-name { font-size: 13px; }
  body.lbs-shell .site-main .jb26-offer h3 { font-size: 16px; }
  body.lbs-shell .site-main .jb26-sort { margin-top: 0; }
  body.lbs-shell .site-main .jb26-sort select { max-width: 100%; min-height: 44px; }
  body.lbs-shell .site-main :where(.lb-search-result, .lb-now-news-card) { overflow-wrap: anywhere; }
  body.lbs-shell .site-main .lba-row { flex-wrap: wrap; }
  body.lbs-shell .site-main .lba-brand { flex-wrap: wrap; }
  body.lbs-shell .site-main .lba-field input[type="password"] { padding-right: 48px; }
  body.lbs-shell .site-main .lba-eye { width: 44px; height: 44px; }
}
@media (max-width: 575.98px) {
  body.lbs-shell .site-main .container { padding-inline: 16px; }
  body.lbs-shell .site-main .container .container { padding-inline: 0; }
  body.lbs-shell .site-main :where(.page-hero, .lb-local-hero) h1 { font-size: clamp(27px, 7.5vw, 36px); }
  body.lbs-shell .site-main .article-body { font-size: 16px; }
  body.lbs-shell .site-main .article-body blockquote { padding: 16px; }
  body.lbs-shell .site-main .transfer-table,
  body.lbs-shell .site-main .transfer-table :where(tbody, tr, th, td) { display: block; width: 100%; }
  body.lbs-shell .site-main .transfer-table th { padding-bottom: 0; border-bottom: 0; font-size: 13px; color: #62718a; }
  body.lbs-shell .site-main .transfer-table td { padding-bottom: 14px; }
  body.lbs-shell .site-main .transfer-table .fs-5 { font-size: 1rem !important; }
  body.lbs-shell .site-main .community-post .card-body { gap: 12px !important; padding: 16px; }
  body.lbs-shell .site-main .community-post img { width: 72px; height: 72px; }
  body.lbs-shell .site-main .community-post .badge { margin-bottom: 4px; }
  body.lbs-shell .site-main .lbh-topics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  body.lbs-shell .site-main .lbh-head h2 { font-size: 22px; }
  body.lbs-shell .site-main .lbh-head > a { font-size: 13px; }
  body.lbs-shell .site-main .lbh-lead.lbh-featured-main { min-height: 0; height: auto; }
  body.lbs-shell .site-main .lbh-featured-main .lbh-lead-cover { position: relative; display: block; height: auto; aspect-ratio: 16 / 10; }
  body.lbs-shell .site-main .lbh-featured-main .lbh-lead-cover img { object-fit: contain !important; }
  body.lbs-shell .site-main .lbh-featured-main::after { display: none; }
  body.lbs-shell .site-main .lbh-featured-main .lbh-lead-body { background: #132b48; padding: 18px; }
  body.lbs-shell .site-main .lbh-featured-main h1 { font-size: clamp(23px, 6vw, 29px); line-height: 1.25; }
  body.lbs-shell .site-main .lbh-featured-main .lbh-lead-body > p { display: block; -webkit-line-clamp: unset; overflow: visible; font-size: 14px; line-height: 1.6; margin-top: 10px; }
  body.lbs-shell .site-main .lbh-news-mini { grid-template-columns: 36% minmax(0, 1fr); }
  body.lbs-shell .site-main .lbh-news-mini h3 { font-size: 16px; line-height: 1.4; }
  body.lbs-shell .site-main .lbh-news-mini-excerpt { font-size: 12px; line-height: 1.5; }
  body.lbs-shell .site-main .lbh-ncard h3 { font-size: 17px; line-height: 1.4; }
  body.lbs-shell .site-main .lbh-meta { font-size: 12px; }
  body.lbs-shell .site-main .lb-local-search { padding: 16px; }
  body.lbs-shell .site-main .lb-local-bottom-cta { padding: 24px 20px; }
  body.lbs-shell .site-main .lb-local-bottom-cta > .lb-local-button { width: 100%; }
  body.lbs-shell .site-main .lb-property-refresh .lb-property-search-main { grid-template-columns: minmax(0, 1fr); }
  body.lbs-shell .site-main .lb-property-refresh .lb-property-search-main > * { grid-column: auto; }
  body.lbs-shell .site-main .lb-property-refresh .lb-property-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lbs-shell .site-main .lb-map-toolbar > div { padding: 8px; max-width: 60%; }
  body.lbs-shell .site-main .lb-map-toolbar strong { font-size: 12px; }
  body.lbs-shell .site-main .lb-map-canvas-wrap #bytomMap { min-height: 340px; height: 60dvh; }
  body.lbs-shell .site-main .order-promo-selection { flex-wrap: wrap; }
  body.lbs-shell .site-main .order-promo-selection-total { flex: 1 1 100%; border-left: 0; border-top: 1px solid #c9d7e8; padding: 10px 0 0; align-items: flex-start; margin: 0; }
  body.lbs-shell .site-main .order-promo-selection-copy { flex: 1; min-width: 0; }
  body.lbs-shell .site-main .order-promo-selection-copy small { max-width: none; }
}
@media (max-width: 419.98px) {
  body.lbs-shell .site-main .community-post .card-body { flex-direction: column; }
  body.lbs-shell .site-main .community-post img { width: 100%; height: 150px; }
  body.lbs-shell .site-main .lb-local-page .lb-offer-grid,
  body.lbs-shell .site-main .lb-detail .row-cols-2,
  body.lbs-shell .site-main .lb-property-detail .row-cols-2 { grid-template-columns: minmax(0, 1fr); }
  body.lbs-shell .site-main :where(.lb-detail, .lb-property-detail) .row-cols-2 > .col { width: 100%; }
  body.lbs-shell .site-main .lb-local-page .lb-category-grid:not(.lb-property-category-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.lbs-shell .site-main .lbh-news-mini { display: flex; flex-direction: column; }
  body.lbs-shell .site-main .lbh-news-mini-photo { height: auto; min-height: 0; aspect-ratio: 16 / 9; }
  body.lbs-shell .site-main .lbh-news-mini-body { padding: 15px; }
  body.lbs-shell .site-main .lbh-news-mini h3 { font-size: 18px; }
  body.lbs-shell .site-main .cal-nav { display: grid !important; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 6px; }
  body.lbs-shell .site-main .cal-nav h2 { font-size: 14px; }
  body.lbs-shell .site-main .lb-search-form { flex-wrap: wrap; }
  body.lbs-shell .site-main .lb-search-form input { flex: 1 1 150px; width: 0; }
  body.lbs-shell .site-main .lb-search-form button { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  body.lbs-shell .site-main *, body.lbs-shell .site-main *::before, body.lbs-shell .site-main *::after {
    animation-duration: .01ms !important; animation-iteration-count: 1 !important;
    transition-duration: .01ms !important; scroll-behavior: auto !important;
  }
}
