/* Doplňky k původnímu CSS (Lovable): skryté prvky, past na roboty, objednávka, ceník bez JavaScriptu. */
[hidden] { display: none !important; }
.bp-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
/* akordeony a záložky: obsah je v HTML, skript jen přepíná */
[data-bp-action="acc"] { cursor: pointer; }
[data-bp-action="acc"][aria-expanded="true"] svg { transform: rotate(180deg); }
[data-bp-tab] { cursor: pointer; }
[data-bp-tab][data-state="active"] { background: hsl(var(--background)); color: hsl(var(--foreground)); box-shadow: 0 1px 2px rgb(0 0 0 / .08); }
/* objednávka */
.sb-order select, .sb-order input, .sb-order textarea { font-size: 16px; }
.sb-order input[type=checkbox] { width: 18px; height: 18px; accent-color: hsl(var(--primary)); }
/* mobilní menu pod hlavičkou */
[data-bp-mobile] { max-height: calc(100vh - 80px); overflow-y: auto; }
/* postranní panel projektů: na úzkém displeji jen po rozbalení, ať nepřekrývá obsah */
@media (max-width: 767px) { [data-bp-side] { display: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }
/* přepínač jazyků v hlavičce (sledujici.eu + socialboostexpert.com a jeho jazykové verze) */
.sb-lang { position: relative; }
.sb-lang > summary { list-style: none; cursor: pointer; }
.sb-lang > summary::-webkit-details-marker { display: none; }
.sb-lang-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 60; width: min(520px, 92vw); max-height: 70vh; overflow-y: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 2px;
  background: hsl(var(--background)); border: 1px solid hsl(var(--border)); border-radius: 10px; padding: 8px; box-shadow: 0 10px 30px rgb(0 0 0 / .12); }
.sb-lang-menu a { padding: 6px 10px; border-radius: 6px; font-size: 14px; color: hsl(var(--foreground)); }
.sb-lang-menu a:hover, .sb-lang-menu a[aria-current] { background: hsl(var(--muted)); color: hsl(var(--primary)); }
[dir="rtl"] .sb-lang-menu { right: auto; left: 0; }
@media (max-width: 767px) { .sb-lang-menu { position: fixed; left: 4vw; right: 4vw; top: 70px; width: auto; } }
/* nový blog: články a výpis */
.sb-article { max-width: 760px; }
.sb-crumbs { font-size: 14px; color: hsl(var(--muted-foreground)); margin-bottom: 18px; }
.sb-crumbs a:hover { color: hsl(var(--primary)); }
.sb-cat { display: inline-block; font-size: 13px; font-weight: 600; color: hsl(var(--primary)); text-transform: uppercase; letter-spacing: .04em; }
.sb-article h1 { font-size: clamp(30px, 5vw, 44px); line-height: 1.15; font-weight: 800; margin: 8px 0 16px; }
.sb-lead { font-size: 20px; line-height: 1.55; color: hsl(var(--muted-foreground)); margin-bottom: 12px; }
.sb-meta { font-size: 14px; color: hsl(var(--muted-foreground)); }
.sb-article > .sb-meta { margin-bottom: 28px; }
.sb-keypoints { background: hsl(var(--muted)); border-radius: 12px; padding: 20px 24px; margin: 0 0 32px; }
.sb-keypoints h2 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.sb-keypoints ul, .sb-prose ul { list-style: disc; padding-left: 1.4em; }
.sb-prose ol, .sb-sources ol { list-style: decimal; padding-left: 1.4em; }
.sb-keypoints li, .sb-prose li { margin: 6px 0; line-height: 1.6; }
.sb-prose { font-size: 18px; line-height: 1.75; }
.sb-prose p { margin: 0 0 18px; }
.sb-prose h2, .sb-faq h2, .sb-sources h2, .sb-related h2 { font-size: 26px; font-weight: 800; line-height: 1.25; margin: 40px 0 14px; }
.sb-prose h3, .sb-faq h3 { font-size: 20px; font-weight: 700; margin: 26px 0 10px; }
.sb-prose a, .sb-sources a, .sb-cta-q a { color: hsl(var(--primary)); text-decoration: underline; text-underline-offset: 2px; }
.sb-prose blockquote { border-left: 4px solid hsl(var(--primary)); padding: 4px 16px; margin: 20px 0; color: hsl(var(--muted-foreground)); }
.sb-prose table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 16px; display: block; overflow-x: auto; }
.sb-prose th, .sb-prose td { border: 1px solid hsl(var(--border)); padding: 8px 10px; text-align: left; vertical-align: top; }
.sb-prose th { background: hsl(var(--muted)); }
.sb-faq p { color: hsl(var(--muted-foreground)); line-height: 1.7; margin-bottom: 12px; }
.sb-cta { margin: 44px 0; padding: 28px; border-radius: 16px; border: 2px solid hsl(var(--primary) / .35); background: hsl(var(--primary) / .06); }
.sb-cta h2 { font-size: 24px; font-weight: 800; margin-bottom: 8px; }
.sb-cta p { margin-bottom: 14px; line-height: 1.6; }
.sb-cta-q { font-size: 15px; color: hsl(var(--muted-foreground)); }
.sb-sources { font-size: 15px; }
.sb-sources li { margin: 6px 0; }
.sb-sources span, .sb-note { color: hsl(var(--muted-foreground)); }
.sb-note { font-size: 14px; margin-top: 14px; }
.sb-legal-note { font-size: 14px; padding: 10px 14px; border-radius: 8px; background: hsl(var(--muted)); margin: 12px 0 20px; }
.sb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; margin-bottom: 36px; }
.sb-card { display: flex; flex-direction: column; gap: 8px; padding: 20px; border: 1px solid hsl(var(--border)); border-radius: 12px; background: hsl(var(--card)); transition: box-shadow .2s; }
.sb-card:hover { box-shadow: 0 8px 24px rgb(0 0 0 / .08); }
.sb-card-title { font-size: 19px; font-weight: 700; line-height: 1.3; }
.sb-card-text { color: hsl(var(--muted-foreground)); font-size: 15px; line-height: 1.55; flex: 1; }
.sb-h2 { font-size: 26px; font-weight: 800; margin: 12px 0 18px; scroll-margin-top: 90px; }
.sb-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; justify-content: center; }
.sb-chips a { padding: 6px 14px; border-radius: 999px; border: 1px solid hsl(var(--border)); font-size: 14px; }
.sb-chips a span { color: hsl(var(--muted-foreground)); }
/* převedené starší články (dříve neformátovaný Markdown) */
.sb-md h2 { font-size: 26px; font-weight: 800; margin: 28px 0 12px; }
.sb-md h3 { font-size: 20px; font-weight: 700; margin: 22px 0 8px; }
.sb-md p { margin: 0 0 14px; line-height: 1.7; }
.sb-md ul { list-style: disc; padding-left: 1.4em; margin: 0 0 14px; }
.sb-md ol { list-style: decimal; padding-left: 1.4em; margin: 0 0 14px; }
.sb-md li { margin: 4px 0; }
[dir="rtl"] .sb-keypoints ul, [dir="rtl"] .sb-prose ul, [dir="rtl"] .sb-prose ol { padding-left: 0; padding-right: 1.4em; }
[dir="rtl"] .sb-prose blockquote { border-left: 0; border-right: 4px solid hsl(var(--primary)); }
