/* Nur auf der Website (nicht im Editor): Akkordeons, Filter, klickbare Karten, mobile Leiste */

/* Akkordeons – zugeklappt, sobald JavaScript aktiv ist */
.ft-js .ft-acc:not(.is-open) > .ft-acc__body,
.ft-js .ft-mandat:not(.is-open) > .ft-mandat__body { display: none; }
.ft-js .ft-acc__head, .ft-js .ft-mandat__head { cursor: pointer; transition: background .2s; -webkit-tap-highlight-color: transparent; }
.ft-js .ft-acc__head:hover, .ft-js .ft-mandat__head:hover { background: var(--ft-paper); }
.ft-js .ft-acc__head::after { content: "+"; width: 48px; height: 48px; display: grid; place-items: center; background: var(--ft-sand); color: var(--ft-navy); font-size: 24px; line-height: 1; transition: background .2s; }
.ft-js .ft-acc.is-open { border-color: var(--ft-navy); }
.ft-js .ft-acc.is-open > .ft-acc__head::after { content: "−"; background: var(--ft-gold); }
.ft-js .ft-mandat__head::after { content: "+"; position: absolute; right: 28px; top: 28px; width: 36px; height: 36px; display: grid; place-items: center; background: var(--ft-sand); color: var(--ft-navy); font-size: 20px; line-height: 1; }
.ft-js .ft-mandat.is-open { grid-column: 1 / -1; border-color: var(--ft-navy); }
.ft-js .ft-mandat.is-open > .ft-mandat__head::after { content: "−"; background: var(--ft-gold); }

/* Filter */
.ft-legend > button { cursor: pointer; transition: background .2s, border-color .2s, color .2s; }
.ft-legend > button:hover { border-color: #fff; }
.ft-legend > button[aria-pressed="true"] { background: #fff; color: var(--ft-navy); border-color: #fff; }
.ft-legend--light > button:hover { border-color: var(--ft-navy); }
.ft-legend--light > button[aria-pressed="true"] { background: var(--ft-navy); color: #fff; border-color: var(--ft-navy); }
.ft-legend__count { margin-left: auto; align-self: center; font-size: 15px; color: var(--ft-muted); }
.ft-acc[hidden], .ft-mandat[hidden], .ft-interlude[hidden] { display: none !important; }

/* Ganze Karte klickbar (Link liegt auf dem Titel) */
.ft-tcard__title a::after, .ft-rcard__thema a::after, .ft-rcard__title a::after, .ft-postcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }

/* Mobile Leiste mit Erstgespräch & Anrufen */
.ft-mobilebar { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 70; display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; margin: 0 !important; }
.ft-mobilebar .wp-block-button { margin: 0; }
.ft-mobilebar .wp-block-button__link { display: block; width: 100%; text-align: center; padding: 16px 18px; font-size: 16px; box-shadow: 0 12px 32px rgba(15, 24, 38, .35); }
@media (min-width: 1080px) { .ft-mobilebar { display: none !important; } }
@media (max-width: 1079.98px) { .ft-footer { padding-bottom: calc(32px + 80px) !important; } }
html.has-modal-open .ft-mobilebar, body.has-modal-open .ft-mobilebar { display: none !important; }
