/* ── FCB Frontend ─────────────────────────────────── */
.fcb-content { max-width: 100%; }
.fcb-block { margin-bottom: 40px; }
.fcb-block:last-child { margin-bottom: 0; }

.fcb-heading__title { margin: 0 0 8px; font-size: 2em; line-height: 1.2; }
.fcb-heading__subtitle { margin: 0; font-size: 1.15em; opacity: 0.7; }

.fcb-text__content p:last-child { margin-bottom: 0; }

.fcb-block--image-text { display: flex; gap: 30px; align-items: center; }
.fcb-block--image-text.fcb-layout--image-right { flex-direction: row-reverse; }
.fcb-image-text__image { flex: 0 0 45%; }
.fcb-image-text__image img { width: 100%; height: auto; border-radius: 4px; }
.fcb-image-text__content { flex: 1; }
.fcb-image-text__title { margin: 0 0 12px; }
@media (max-width: 768px) {
    .fcb-block--image-text, .fcb-block--image-text.fcb-layout--image-right { flex-direction: column; }
    .fcb-image-text__image { flex: none; width: 100%; }
}

.fcb-block--cta { background: #f5f5f5; border-radius: 8px; padding: 40px; text-align: center; }
.fcb-cta__title { margin: 0 0 12px; }
.fcb-cta__text { margin: 0 0 20px; opacity: 0.8; }
.fcb-cta__button {
    display: inline-block; padding: 12px 28px; background: #2271b1; color: #fff;
    text-decoration: none; border-radius: 4px; font-weight: 600; transition: background 0.2s;
}
.fcb-cta__button:hover { background: #135e96; color: #fff; }

.fcb-block--testimonial { padding: 30px; border-left: 4px solid #2271b1; background: #f9f9f9; border-radius: 0 8px 8px 0; }
.fcb-testimonial__quote { margin: 0 0 16px; font-size: 1.1em; font-style: italic; line-height: 1.6; }
.fcb-testimonial__attribution { display: flex; align-items: center; gap: 12px; }
.fcb-testimonial__photo img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.fcb-testimonial__author { display: block; }
.fcb-testimonial__role { display: block; font-size: 0.9em; opacity: 0.7; }

.fcb-faq__item { border: 1px solid #e0e0e0; border-radius: 6px; overflow: hidden; }
.fcb-faq__question {
    padding: 16px 20px; font-weight: 600; cursor: pointer; background: #f9f9f9;
    list-style: none; display: flex; align-items: center; gap: 10px;
}
.fcb-faq__question::before { content: '+'; font-size: 1.3em; font-weight: 300; }
details[open] > .fcb-faq__question::before { content: '−'; }
.fcb-faq__question::-webkit-details-marker { display: none; }
.fcb-faq__answer { padding: 16px 20px; border-top: 1px solid #e0e0e0; }

.fcb-image__figure { margin: 0; }
.fcb-image__figure img { width: 100%; height: auto; border-radius: 4px; }
.fcb-image__caption { margin-top: 8px; font-size: 0.9em; opacity: 0.7; text-align: center; }
