/* BM Blog – zoznam, clanok, karty, dlazdice produktov, modul */
.bm-blog { padding-bottom: 60px; }
.bm-blog__head { margin: 26px 0 22px; display: grid; grid-template-columns: 1fr auto; gap: 14px 30px; align-items: end; }
.bm-blog__head h1 { grid-column: 1; font-size: clamp(1.8rem, 3.6vw, 2.6rem); text-transform: uppercase; margin: 0; }
.bm-blog__intro { grid-column: 1 / -1; max-width: 70ch; color: var(--bm-muted); margin: 0; }
.bm-blog__search { grid-column: 2; grid-row: 1; display: flex; border: 1px solid var(--bm-line); background: #fff; min-width: 260px; }
.bm-blog__search input { border: 0; padding: 10px 14px; flex: 1; font: inherit; min-width: 0; }
.bm-blog__search input:focus { outline: none; }
.bm-blog__search button { border: 0; background: var(--bm-ink); color: #fff; padding: 0 16px; cursor: pointer; }
.bm-blog__search button:hover { background: var(--bm-red); }
.bm-blog__cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.bm-blog__cats a { border: 1px solid var(--bm-line); padding: 7px 14px; font-size: .9rem; font-weight: 600; color: var(--bm-ink); text-decoration: none; transition: .15s; }
.bm-blog__cats a span { color: var(--bm-muted); font-weight: 500; margin-left: 4px; }
.bm-blog__cats a:hover, .bm-blog__cats a.is-active { background: var(--bm-ink); color: #fff; border-color: var(--bm-ink); }
.bm-blog__cats a.is-active span, .bm-blog__cats a:hover span { color: rgba(255,255,255,.7); }
.bm-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
.bm-blog__grid--4 { grid-template-columns: repeat(4, 1fr); }
.bm-blog__empty { color: var(--bm-muted); padding: 40px 0; }
.bm-blog__pag { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 34px; }
.bm-blog__results { color: var(--bm-muted); font-size: .9rem; }
.bm-blog__tags { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--bm-line); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: .9rem; }
.bm-blog__tags span { color: var(--bm-muted); margin-right: 4px; }
.bm-blog__tags a { background: #f3f3f4; padding: 4px 10px; color: var(--bm-ink); text-decoration: none; }
.bm-blog__tags a:hover { background: var(--bm-ink); color: #fff; }

/* karta clanku */
.bm-post { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--bm-line); transition: transform .18s, box-shadow .18s; }
.bm-post:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0,0,0,.08); }
.bm-post__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #f3f3f4; }
.bm-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.bm-post:hover .bm-post__img img { transform: scale(1.04); }
.bm-post__body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.bm-post__meta { font-size: .82rem; color: var(--bm-muted); text-transform: uppercase; letter-spacing: .04em; }
.bm-post__title { margin: 0; font-family: var(--bm-display); font-size: 1.15rem; line-height: 1.25; }
.bm-post__title a { color: var(--bm-ink); text-decoration: none; }
.bm-post__title a:hover { color: var(--bm-red); }
.bm-post__excerpt { margin: 0; color: #444; font-size: .95rem; line-height: 1.5; }
.bm-post__more { margin-top: auto; padding-top: 6px; font-weight: 600; font-size: .9rem; color: var(--bm-red); text-decoration: none; }
.bm-post--big { grid-column: 1 / -1; flex-direction: row; }
.bm-post--big .bm-post__img { flex: 0 0 58%; aspect-ratio: 16 / 9; }
.bm-post--big .bm-post__body { justify-content: center; padding: 30px 36px; }
.bm-post--big .bm-post__title { font-size: clamp(1.4rem, 2.4vw, 2rem); }

/* clanok */
.bm-blog--post .bm-art__head { max-width: 860px; margin: 26px auto 24px; text-align: center; }
.bm-art__cats { display: flex; justify-content: center; gap: 8px; margin-bottom: 14px; }
.bm-art__cats a { font-size: .8rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--bm-red); text-decoration: none; }
.bm-art__head h1 { font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.1; margin: 0 0 14px; }
.bm-art__lead { font-size: 1.15rem; color: #444; line-height: 1.55; margin: 0 0 16px; }
.bm-art__meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 6px 20px; color: var(--bm-muted); font-size: .9rem; }
.bm-art__meta i { margin-right: 4px; }
.bm-art__hero { margin: 0 auto 34px; max-width: 1100px; }
.bm-art__hero img { width: 100%; height: auto; display: block; }
.bm-art__layout { display: grid; grid-template-columns: 1fr; max-width: 860px; margin: 0 auto; gap: 40px; }
.bm-art__layout:has(.bm-art__toc) { grid-template-columns: 250px minmax(0, 760px); max-width: 1090px; }
.bm-art__toc-in { position: sticky; top: 90px; border-left: 3px solid var(--bm-red); padding: 4px 0 4px 16px; font-size: .9rem; }
.bm-art__toc-in b { display: block; margin-bottom: 8px; text-transform: uppercase; letter-spacing: .05em; font-size: .78rem; color: var(--bm-muted); }
.bm-art__toc-in ol { list-style: none; margin: 0; padding: 0; }
.bm-art__toc-in li { margin: 6px 0; }
.bm-art__toc-in li.lvl3 { padding-left: 14px; font-size: .85rem; }
.bm-art__toc-in a { color: var(--bm-ink); text-decoration: none; }
.bm-art__toc-in a:hover { color: var(--bm-red); }
.bm-art__body { font-size: 1.05rem; line-height: 1.7; min-width: 0; }
.bm-art__body h2 { font-size: 1.55rem; margin: 2em 0 .7em; scroll-margin-top: 90px; }
.bm-art__body h3 { font-size: 1.2rem; margin: 1.6em 0 .6em; scroll-margin-top: 90px; }
.bm-art__body p { margin: 0 0 1.1em; }
.bm-art__body img { max-width: 100%; height: auto; }
.bm-art__body figure { margin: 1.6em 0; }
.bm-art__body figcaption { font-size: .85rem; color: var(--bm-muted); text-align: center; margin-top: 6px; }
.bm-art__body ul, .bm-art__body ol { padding-left: 1.4em; margin: 0 0 1.2em; }
.bm-art__body blockquote { border-left: 4px solid var(--bm-red); margin: 1.5em 0; padding: 8px 20px; background: #fafafa; font-style: italic; }
.bm-art__body table { width: 100%; border-collapse: collapse; margin: 1.4em 0; font-size: .95rem; }
.bm-art__body th, .bm-art__body td { border: 1px solid var(--bm-line); padding: 8px 10px; text-align: left; }
.bm-art__body th { background: #f3f3f4; }
.bm-art__body iframe { max-width: 100%; }
.bm-art__products { margin: 2.5em 0 1.5em; padding-top: 1.5em; border-top: 1px solid var(--bm-line); }
.bm-art__products h2 { margin-top: 0; }
.bm-art__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 2em 0 1em; }
.bm-art__tags a { background: #f3f3f4; padding: 4px 10px; font-size: .88rem; color: var(--bm-ink); text-decoration: none; }
.bm-art__share { display: flex; align-items: center; gap: 10px; margin: 1.2em 0 2em; color: var(--bm-muted); font-size: .9rem; }
.bm-art__share a, .bm-art__share button { width: 38px; height: 38px; border: 1px solid var(--bm-line); background: #fff; color: var(--bm-ink); display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; }
.bm-art__share a:hover, .bm-art__share button:hover { background: var(--bm-ink); color: #fff; }
.bm-art__share button.is-ok { background: var(--bm-ok); border-color: var(--bm-ok); color: #fff; }
.bm-art__author { display: flex; gap: 18px; align-items: center; background: #fafafa; border: 1px solid var(--bm-line); padding: 18px 22px; margin: 0 0 2em; }
.bm-art__author img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.bm-art__author p { margin: 4px 0 0; color: #444; font-size: .95rem; }
.bm-art__nav { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; border-top: 1px solid var(--bm-line); padding-top: 20px; }
.bm-art__nav a { text-decoration: none; color: var(--bm-ink); font-weight: 600; line-height: 1.3; }
.bm-art__nav a small { display: block; color: var(--bm-muted); font-weight: 500; margin-bottom: 4px; }
.bm-art__nav-next { text-align: right; grid-column: 2; }
.bm-art__nav a:hover { color: var(--bm-red); }
.bm-blog__related { padding-top: 40px; }

/* produktove dlazdice v clanku */
.bm-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 14px; margin: 1.4em 0; }
.bm-blog-tiles { margin: 1.4em 0; }
.bm-tile { display: flex; flex-direction: column; border: 1px solid var(--bm-line); background: #fff; text-decoration: none; color: var(--bm-ink); transition: box-shadow .15s; }
.bm-tile:hover { box-shadow: 0 10px 24px rgba(0,0,0,.08); color: var(--bm-ink); }
.bm-tile__img { display: block; aspect-ratio: 1; background: #fff; padding: 10px; }
.bm-tile__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.bm-tile__body { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px 12px; font-size: .88rem; line-height: 1.3; }
.bm-tile__body small { color: var(--bm-muted); text-transform: uppercase; font-size: .72rem; letter-spacing: .04em; }
.bm-tile__body b { font-family: var(--bm-display); font-size: .92rem; font-weight: 600; }
.bm-tile__price { font-weight: 700; margin-top: 4px; }
.bm-tile__price s { color: var(--bm-muted); font-weight: 400; margin-right: 6px; }
.bm-tile__price em { font-style: normal; color: var(--bm-red); }
.bm-tile__stock { font-size: .78rem; color: var(--bm-muted); }
.bm-tile__stock.is-in { color: var(--bm-ok); font-weight: 600; }

/* modul na titulke / produkte */
.bm-blog-mod--product { padding-top: 10px; }

@media (max-width: 991px) {
  .bm-blog__grid, .bm-blog__grid--4 { grid-template-columns: repeat(2, 1fr); gap: 20px 16px; }
  .bm-post--big { flex-direction: column; }
  .bm-post--big .bm-post__img { flex: none; }
  .bm-post--big .bm-post__body { padding: 18px 20px; }
  .bm-art__layout:has(.bm-art__toc) { grid-template-columns: 1fr; max-width: 860px; gap: 20px; }
  .bm-art__toc-in { position: static; }
}
@media (max-width: 600px) {
  .bm-blog__head { grid-template-columns: 1fr; }
  .bm-blog__search { grid-column: 1; grid-row: auto; }
  .bm-blog__grid, .bm-blog__grid--4 { grid-template-columns: 1fr; }
  .bm-art__nav { grid-template-columns: 1fr; }
  .bm-art__nav-next { grid-column: 1; text-align: left; }
  .bm-art__body { font-size: 1rem; }
  .bm-tiles { grid-template-columns: repeat(2, 1fr); }
}
