/* SW Bausteine – Farben aus dem Theme (Schultüten-Werkstatt: --sw-…), sonst neutral. */
.swb-faq, .swb-box {
	--swb-a: var(--swb-akzent, var(--sw-akzent, #a02e95));
	--swb-a-dunkel: var(--swb-akzent-dunkel, var(--sw-akzent-dunkel, #7e2275));
	--swb-ink: var(--swb-text-dunkel, var(--sw-nacht, #1a1b55));
	--swb-line: var(--swb-linie, var(--sw-linie, #d8d9e2));
	--swb-soft: var(--swb-flaeche, var(--sw-hell, #eaf1f8));
	--swb-soft-a: var(--swb-flaeche-akzent, var(--sw-akzent-hell, #f3e2ef));
	--swb-r: var(--swb-radius, var(--sw-radius, 14px));
	--swb-shadow: var(--sw-shadow, 0 10px 28px rgba(26, 27, 85, 0.12));
	box-sizing: border-box;
}
.swb-faq *, .swb-box * { box-sizing: border-box; }

/* ---------- FAQ ---------- */
.swb-faq { display: grid; gap: 0.75rem; margin-top: 1.5rem; margin-bottom: 1.5rem; }
.swb-faq__item {
	margin: 0; background: #fff; border: 1px solid var(--swb-line); border-radius: var(--swb-r);
	box-shadow: 0 2px 6px rgba(26, 27, 85, 0.05); transition: border-color 0.2s, box-shadow 0.2s;
}
.swb-faq__item[open] { border-color: var(--swb-a); box-shadow: var(--swb-shadow); }
.swb-faq__frage {
	position: relative; display: block; padding: 1rem 3.4rem 1rem 1.25rem; cursor: pointer; list-style: none;
	color: var(--swb-ink); font-weight: 600; line-height: 1.45;
}
.swb-faq__frage::-webkit-details-marker { display: none; }
.swb-faq__frage::marker { content: ""; }
.swb-faq__frage::after {
	content: ""; position: absolute; right: 1.1rem; top: 50%; width: 1.6rem; height: 1.6rem; translate: 0 -50%;
	border-radius: 50%; background: var(--swb-soft-a) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23a02e95' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 62% no-repeat;
	transition: rotate 0.2s ease;
}
.swb-faq__item[open] > .swb-faq__frage::after { rotate: 180deg; }
.swb-faq__frage:hover { color: var(--swb-a); }
.swb-faq__frage:focus-visible { outline: 2px solid var(--swb-a); outline-offset: 2px; border-radius: var(--swb-r); }
.swb-faq__antwort { padding: 0 1.25rem 1.1rem; border-top: 1px solid var(--swb-line); }
.swb-faq__antwort > :first-child { margin-top: 0.9rem; }
.swb-faq__antwort > :last-child { margin-bottom: 0; }
/* Editor: Fragen offen untereinander */
.swb-faq__item--editor .swb-faq__frage { cursor: text; }
.swb-faq__item--editor .swb-faq__frage::after { display: none; }

/* ---------- Hervorhebung ---------- */
.swb-box { margin-top: 1.75rem; margin-bottom: 1.75rem; }
.swb-box > :first-child, .swb-box__inhalt > :first-child { margin-top: 0; }
.swb-box > :last-child, .swb-box__inhalt > :last-child { margin-bottom: 0; }
.swb-box--box { padding: clamp(1.25rem, 3vw, 2rem); background: var(--swb-soft); border: 1px solid var(--swb-line); border-radius: var(--swb-r); }
.swb-box--rahmen { padding: clamp(1.25rem, 3vw, 2rem); background: #fff; border: 1px solid var(--swb-line); border-top: 5px solid var(--swb-a); border-radius: var(--swb-r); box-shadow: var(--swb-shadow); }
.swb-box--hinweis { padding: 1rem 1.25rem; background: var(--swb-soft-a); border-left: 5px solid var(--swb-a); border-radius: 8px; }
.swb-box--aufruf { padding: clamp(1.5rem, 4vw, 2.5rem); text-align: center; background: var(--swb-soft-a); border: 1px solid color-mix(in srgb, var(--swb-a) 30%, transparent); border-radius: var(--swb-r); }
.swb-box--aufruf :where(h2, h3, h4) { color: var(--swb-a-dunkel); }
.swb-box--aufruf .wp-block-buttons { justify-content: center; }
.swb-box--streifen { padding: clamp(2.25rem, 5vw, 3.5rem) 1.25rem; background: var(--swb-soft); }
.swb-box--streifen.alignfull { width: auto; max-width: none !important; margin-left: calc(-1 * var(--sw-gutter, 1.25rem)); margin-right: calc(-1 * var(--sw-gutter, 1.25rem)); }
.swb-box__inhalt { max-width: var(--sw-content, 760px); margin: 0 auto; }
.swb-box__inhalt > * + * { margin-top: 1rem; }
.swb-box :where(h2, h3) { margin-top: 0; }
