/* Onlinefotka Schema Markup – FAQ and How-to blocks */
.ofsch-faq { margin: 1.5em 0; }
.ofsch-faq-item { margin: 0 0 1.25em; }
.ofsch-faq-question { margin: 0 0 .4em; }
.ofsch-faq-answer > :last-child { margin-bottom: 0; }
.ofsch-faq.is-collapsible .ofsch-faq-item { margin: 0 0 .6em; border: 1px solid rgba(0, 0, 0, .12); border-radius: 8px; overflow: hidden; }
.ofsch-faq.is-collapsible summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: .75em 1em; cursor: pointer; list-style: none; }
.ofsch-faq.is-collapsible summary::-webkit-details-marker { display: none; }
.ofsch-faq.is-collapsible summary::after { content: "+"; font-size: 1.3em; line-height: 1; transition: transform .2s; }
.ofsch-faq.is-collapsible details[open] summary::after { transform: rotate(45deg); }
.ofsch-faq.is-collapsible summary .ofsch-faq-question { margin: 0; font-size: 1.05em; }
.ofsch-faq.is-collapsible .ofsch-faq-answer { padding: 0 1em .9em; }

.ofsch-howto { margin: 1.5em 0; }
.ofsch-howto-image img, .ofsch-howto-step-image img { max-width: 100%; height: auto; border-radius: 6px; }
.ofsch-howto-image, .ofsch-howto-step-image { margin: .75em 0; }
.ofsch-howto-meta { display: flex; flex-wrap: wrap; gap: .5em 1.5em; }
.ofsch-howto-steps ol, .ofsch-howto-steps ul { padding-left: 1.4em; }
.ofsch-howto-step { margin-bottom: 1em; }
.ofsch-howto-step-title { display: block; margin-bottom: .3em; }

/* Editor */
.ofsch-faq-editor .ofsch-faq-item, .ofsch-howto-editor .ofsch-howto-step { position: relative; padding: 10px 12px; border: 1px dashed #c3c4c7; border-radius: 6px; }
.ofsch-block-tools { position: absolute; top: 4px; right: 4px; display: flex; gap: 2px; opacity: .55; }
.ofsch-faq-item:hover .ofsch-block-tools, .ofsch-howto-step:hover .ofsch-block-tools { opacity: 1; }
.ofsch-howto-step-head { display: flex; justify-content: space-between; color: #757575; font-size: 12px; }
.ofsch-howto-step-head .ofsch-block-tools { position: static; }
.ofsch-howto-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 1em 0; }
.ofsch-howto-list-row { display: flex; align-items: center; gap: 4px; margin: 4px 0; }
.ofsch-howto-list-row .components-base-control { flex: 1; }
.ofsch-howto-image-picker { display: flex; align-items: center; gap: 8px; margin: 8px 0; }
.ofsch-howto-image-picker img { width: 64px; height: 64px; object-fit: cover; border-radius: 4px; }
.ofsch-howto-steps-label { display: block; margin: 1em 0 .5em; }
