/* futureself – Basis (Fonts lokal, Grundtypo). Farben kommen als Bricks-Variablen (--fs-*). */
@font-face{font-family:Figtree;font-style:normal;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:Figtree;font-style:normal;font-weight:500;font-display:swap;src:url(fonts/figtree-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:Figtree;font-style:normal;font-weight:600;font-display:swap;src:url(fonts/figtree-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:Figtree;font-style:normal;font-weight:700;font-display:swap;src:url(fonts/figtree-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:Figtree;font-style:italic;font-weight:400;font-display:swap;src:url(fonts/figtree-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:Bitter;font-style:italic;font-weight:400;font-display:swap;src:url(fonts/bitter-latin-400-italic.woff2) format('woff2')}
@font-face{font-family:Bitter;font-style:italic;font-weight:500;font-display:swap;src:url(fonts/bitter-latin-500-italic.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format('woff2')}

/* Bricks-Basisstile auf Browser-Standard zurücksetzen (eigene Ebene: schlägt @layer bricks, verliert gegen Klassen/IDs) */
@layer fs-reset{
  h1,h2,h3,h4,h5,h6{line-height:normal}
  h1{font-size:2em}h2{font-size:1.5em}h3{font-size:1.17em}h4{font-size:1em}
  blockquote{border:0;padding:0;margin:1em 40px;font-family:inherit;font-size:inherit}
  img{max-width:none;vertical-align:baseline}
  .brxe-text-link{display:inline;gap:normal}
  .brxe-text-link>span{display:contents}
  button{color:inherit}
}
body{margin:0;background:#fff;color:var(--fs-olive,#3D3B15);font-family:Figtree,system-ui,sans-serif;font-size:16px;line-height:normal;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:underline;text-decoration-color:var(--fs-lime,#9FA500);text-underline-offset:3px}
a:hover{color:var(--fs-lime-dark,#6B6E00)}
button{font:inherit}
#brx-header{position:sticky;top:0;z-index:40}
#brx-content{overflow-x:clip}
:focus-visible{outline:2px solid var(--fs-lime,#9FA500);outline-offset:3px}

/* Header: Desktop-Navigation ab 1341px, darunter Burger + Offcanvas */
@media (min-width:1341px){[data-fs-if="isMobile"]{display:none!important}}
@media (max-width:1340px){[data-fs-if="isDesktop"]{display:none!important}}
[data-fs-if="menuOpen"]:not(.is-open){display:none!important}
body.fs-menu-open{overflow:hidden}
.fs-nav-active,[data-fs-if="isDesktop"] a[aria-current="page"]{font-weight:600!important;border-bottom-color:var(--fs-lime,#9FA500)!important}
.fs-nav-kontakt-active{font-weight:700!important}

/* Akkordeons, Tabs, Zustände */
[data-fs-acc-item]:not(.is-open) [data-fs-if$=".open"]{display:none}
[data-fs-tab-panel]:not(.is-active){display:none!important}
[data-fs-tab][aria-selected="true"],[data-fs-filter][aria-selected="true"],[data-fs-scale-btn][aria-checked="true"],[data-fs-opt][aria-checked="true"]{background:var(--fs-olive,#3D3B15)!important;color:#fff!important}
[data-fs-post][hidden]{display:none!important}
[data-fs-if="sent"]:not(.is-shown){display:none!important}
.fs-compass:not([data-step="question"]) [data-fs-step="question"],
.fs-compass:not([data-step="result"]) [data-fs-step="result"],
.fs-compass[data-step]:not([data-step="intro"]) [data-fs-step="intro"]{display:none!important}

/* ---------- Fluent Forms im futureself-Look ---------- */
.fluentform .ff-el-group{margin:0}
.fluentform .ff-el-input--label{margin:0;padding:0}
.fluentform .ff-el-input--label label{font-size:14px;font-weight:600;color:var(--fs-olive);line-height:1.4;margin:0}
.fluentform .ff-el-is-required.asterisk-right label:after{content:''}
.fluentform .ff-el-form-control{font:inherit;font-weight:400;font-size:16px;line-height:1.4;padding:14px 16px;border-radius:14px;border:1px solid var(--fs-sky);background:#fff;color:var(--fs-olive);box-shadow:none;width:100%}
.fluentform .ff-el-form-control:focus{border-color:var(--fs-lime);outline:none;box-shadow:none}
.fluentform textarea.ff-el-form-control{min-height:140px;resize:vertical}
.fluentform .ff-btn-submit{font:inherit;font-weight:600;font-size:16px;background:var(--fs-olive)!important;color:#fff!important;border:0;padding:16px 28px;border-radius:99px;cursor:pointer;transition:background .2s ease,color .2s ease;line-height:normal;box-shadow:none}
.fluentform .ff-btn-submit:hover{background:var(--fs-lime)!important;color:var(--fs-olive)!important;opacity:1}
.fluentform .ff-el-is-error .ff-el-form-control{border-color:#b3261e}
.fluentform .error.text-danger{font-size:13px;margin-top:4px}
.fluentform .ff_submit_btn_wrapper{margin:0}
.ff-message-success{border:0;box-shadow:none;padding:0;background:none}

/* Kontakt (Formular 5) */
.fluentform_wrapper_5 form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.fluentform_wrapper_5 .ff-el-group{display:flex;flex-direction:column;gap:6px}
.fluentform_wrapper_5 .fs-ff-topics,.fluentform_wrapper_5 .fs-ff-msg,.fluentform_wrapper_5 .ff_submit_btn_wrapper,.fluentform_wrapper_5 .ff-custom_html{grid-column:1/-1}
.fluentform_wrapper_5 .fs-ff-topics{gap:10px;margin-bottom:10px}
.fluentform_wrapper_5 .fs-ff-msg{margin-top:10px}
.fluentform_wrapper_5 .ff_submit_btn_wrapper{margin-top:10px}
.fs-ff-topics .ff-el-input--content{display:flex;flex-wrap:wrap;gap:8px}
.fs-ff-topics .ff-el-form-check{margin:0}
.fs-ff-topics .ff-el-form-check-label{display:inline-block;margin:0;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;border-radius:99px;border:1px solid var(--fs-olive);background:#fff;color:var(--fs-olive);line-height:normal;transition:background .2s ease}
.fs-ff-topics .ff-el-form-check-label:hover{background:var(--fs-sun)}
.fs-ff-topics .ff-el-form-check-input{position:absolute;opacity:0;width:1px;height:1px}
.fs-ff-topics .ff-el-form-check:has(input:checked) .ff-el-form-check-label,.fs-ff-topics .ff-el-form-check.ff_item_selected .ff-el-form-check-label{background:var(--fs-olive);color:#fff}
.fs-ff-topics .ff-el-form-check-input:focus-visible+span{outline:2px solid var(--fs-lime);outline-offset:3px}
.fluentform_wrapper_5 .ff-custom_html{font-size:13px;color:var(--fs-muted)}

/* Einzeilige E-Mail-Formulare (E-Mail-Reise 6, Newsletter 7, Compass-Brief 8) */
.fluentform_wrapper_6,.fluentform_wrapper_7,.fluentform_wrapper_8{width:100%}
.fluentform_wrapper_6 form,.fluentform_wrapper_7 form,.fluentform_wrapper_8 form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.fluentform_wrapper_6 .ff-el-group,.fluentform_wrapper_7 .ff-el-group,.fluentform_wrapper_8 .ff-el-group{flex:1;min-width:180px}
.fluentform_wrapper_6 .ff-el-input--label,.fluentform_wrapper_7 .ff-el-input--label,.fluentform_wrapper_8 .ff-el-input--label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.fluentform_wrapper_6 .ff-el-form-control,.fluentform_wrapper_7 .ff-el-form-control,.fluentform_wrapper_8 .ff-el-form-control{border-radius:99px;border-color:var(--fs-olive);padding:14px 18px}
.fluentform_wrapper_6 .ff-el-group{min-width:200px}
.fluentform_wrapper_6 .ff-el-form-control{padding:16px 20px}
.fluentform_wrapper_6 .ff-btn-submit{padding:16px 26px}
.fluentform_wrapper_7 .ff-btn-submit{padding:14px 22px;font-size:16px}
.fluentform_wrapper_8 .ff-el-form-control{border-color:var(--fs-sky);padding:14px 16px}
.fluentform_wrapper_8 .ff-btn-submit{padding:14px 20px}

/* Post für dein futureself (Formular 9) */
.fluentform_wrapper_9 .ff-el-group{display:flex;flex-direction:column;gap:8px}
.fluentform_wrapper_9 textarea.ff-el-form-control{min-height:96px;border-radius:16px;padding:14px}
.fluentform_wrapper_9 .ff_submit_btn_wrapper{display:none}

/* Text-Akzente in Fließtexten (vom Konverter erzeugt) */
.fs-accent { font-family: Bitter, serif; font-style: italic; font-weight: 400; color: var(--fs-lime); }
.fs-accent--sun { font-family: Bitter, serif; font-style: italic; font-weight: 400; color: var(--fs-sun); }
.fs-c-lime { color: var(--fs-lime); }
.fs-accent--lime-dark { font-family: Bitter, serif; font-style: italic; font-weight: 400; color: var(--fs-lime-dark); }
.fs-accent--white { font-family: Bitter, serif; font-style: italic; font-weight: 400; color: var(--fs-white); }
.fs-c-sun { color: var(--fs-sun); }
.fs-fw-700 { font-weight: 700; }
.fs-c-sand-dark { color: var(--fs-sand-dark); }
.fs-c-white { color: var(--fs-white); }
.fs-accent--plain { font-family: Bitter, serif; font-style: italic; font-weight: 400; }