/* Bloky obsahových stránek (Front:Page, app/Presentation/Front/Page/blocks.latte).
   Vychází z tříd designu: dark-cta, section-head, card, how-step, panel. */
.pb { margin: 0 0 44px; }
.pb:last-child { margin-bottom: 10px; }
.pb .section-head { margin-bottom: 18px; }
.pb .section-head h2 { margin-top: 0; }

/* Text */
.pb-text > :first-child { margin-top: 0; }
.pb-text blockquote { margin: 22px 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--yellow); color: #4a5e7b; }

/* Výzva: tlačítka v obalu, ne přímo v .dark-cta — barvy jako .dark-cta > .btn */
.pb-cta { margin-top: 8px; }
.pb-cta-body, .pb-cta-actions { position: relative; z-index: 1; }
.pb-cta-body h2 { margin-top: 0; }
.pb-cta-body p { max-width: 520px; }
.pb-cta-actions { display: flex; flex-wrap: wrap; gap: 10px; flex-shrink: 0; }
.pb-cta-actions .btn:first-child { background: var(--navy); color: #fff; box-shadow: 3px 3px 0 #9e7b12; }
.pb-cta-actions .btn:first-child:hover { background: #233d61; }
.pb-cta-actions .btn .ico { width: 14px; height: 14px; }

/* Karty */
.pb-card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pb-card-grid.pb-two { grid-template-columns: repeat(2, 1fr); }
.pb-card { padding: 22px 22px 20px; }
.pb-card:hover { transform: none; }
.pb-card h3 { min-height: 0; margin: 0 0 8px; font-size: 16px; }
.pb-card p { margin: 0; font-size: 13px; line-height: 1.75; color: #5d6f88; }
.pb-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-bottom: 14px;
	border-radius: 10px; background: #fff5d6; color: var(--navy); }
.pb-card-icon .ico { width: 20px; height: 20px; }

/* Postup */
.pb-step-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 26px 30px; }
.pb-step-list .how-step h3 { margin-top: 2px; }

/* Otázky */
.pb-faq-item { margin-bottom: 10px; padding: 0; }
.pb-faq-item summary { cursor: pointer; padding: 18px 52px 18px 22px; list-style: none; font-size: 14px; }
.pb-faq-item summary::-webkit-details-marker { display: none; }
/* Plus z designu (summary:after) posunout do paddingu, otevřená otázka má minus */
.pb-faq-item summary::after { top: 17px; right: 22px; }
.pb-faq-item[open] summary::after { content: '－'; }
.pb-faq-item > div { padding: 0 22px 20px; line-height: 1.8; }

/* Náhled pro správce (koncept) */
.pb-preview-note { margin: 0 0 18px; padding: 12px 16px; border-radius: 10px; background: #fff5d6; border: 1px solid #f1d27a; font-size: 13px; }

@media (max-width: 850px) {
	.pb-card-grid { grid-template-columns: repeat(2, 1fr); }
	.pb-cta-actions { margin-top: 20px; }
}
@media (max-width: 680px) {
	.pb { margin-bottom: 34px; }
	.pb-card-grid, .pb-card-grid.pb-two { grid-template-columns: 1fr; }
	.pb-cta-actions .btn { white-space: normal; }
}
/* Čtyři kroky 2 × 2, ať se neláme 3 + 1 */
@media (min-width: 681px) { .pb-step-list.pb-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
