/* Shared homepage components own hero, typography, buttons and fields. FAQ owns arrangement. */
.faq_hero.segment.hero { min-height:560px; max-height:none; align-items:center; margin-top:0; }
.faq_hero .hero_back { min-height:560px; max-height:620px; object-position:center; }
.faq_hero .hero_box { margin:0 1.5rem; max-width:780px; width:calc(100% - 3rem); }
.faq_hero .hero_title.title { position:static; margin:0 0 1.5rem; padding:0; font-size:clamp(28px,3.8vw,44px); }
.faq_hero .hero_text { margin-bottom:1.5rem; }
.faq_search_row { display:flex; gap:1rem; align-items:center; }
.faq_search_row input { flex:1; min-width:0; width:auto; margin:0; }
.faq_search_row .button { flex-shrink:0; margin:0; }
.faq_public { max-width:1080px; margin:auto; padding:3rem 1.5rem; font-size:16px; scroll-margin-top:130px; }
.faq_scope { font-size:.875em; margin-bottom:2rem; }
.faq_scope summary { width:fit-content; cursor:pointer; padding:.5rem 0; }
.faq_scope p { margin-top:.7rem; line-height:1.7; }
/* Approved Markenflächen: one wide entry card and four topic cards. */
.faq_group_grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; margin:2rem 0; }
.faq_group_card { position:relative; display:flex; flex-direction:column; gap:1rem; min-height:190px; padding:1.75rem; background:linear-gradient(130deg,#3c92a4,#2e7f95); border:0; border-radius:18px; color:#fff; text-align:left; overflow:hidden; transition:transform 240ms cubic-bezier(.45,0,.55,1); }
.faq_group_card:first-child { grid-column:1 / -1; min-height:150px; }
.faq_group_card:hover { text-decoration:none; color:#fff; transform:translateY(-3px); }
.faq_group_card .faq_group_symbol { position:absolute; top:1.5rem; right:1.5rem; width:72px; height:72px; color:#fff; opacity:.2; margin:0; }
.faq_group_copy { position:relative; padding-right:75px; }
.faq_group_card h3 { font:22px/1.4 var(--font-highlight); color:inherit; margin:0 0 .5rem; }
.faq_group_card p { font:16px/1.7 var(--font-prim); color:inherit; margin:0; }
.faq_group_footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:1rem; color:inherit; }
.faq_group_count { font-size:14px; color:inherit; }
.faq_group_card .faq_group_chevron { flex:0 0 28px; width:28px; height:28px; margin:0; color:inherit; }
.faq_public h2 {font-size:26px;}
#faqStatus {font-size:16px; line-height:1.7; margin:1.5rem 0;}
.faq_answer {border:1px solid var(--color-contrast-light); background:var(--color-prim-bright); border-radius:var(--len-xm); padding:0 1.5rem; margin:1rem 0; scroll-margin-top:130px;}
.faq_answer > summary {display:flex; gap:1rem; align-items:center; justify-content:space-between; min-height:68px; padding:1rem 0; list-style:none; cursor:pointer; font:18px var(--font-prim-bold);}
.faq_answer > summary::-webkit-details-marker {display:none;}
.faq_chevron {flex:0 0 28px; width:28px; height:28px; color:var(--color-highlight-bright); transition:transform 240ms cubic-bezier(.45,0,.55,1);}
.faq_answer[open] .faq_chevron {transform:rotate(90deg);}
.faq_short_answer {font:16px/1.7 var(--font-prim-bold); margin-bottom:1rem;}
.faq_detail {padding-bottom:1.5rem; max-width:80ch; overflow-wrap:anywhere;}
.faq_detail p,.faq_detail li {font:16px/1.8 var(--font-prim); margin:.8rem 0;}
.faq_detail :is(h2,h3) {font-size:22px; margin:1.5rem 0 .75rem;}
.faq_detail :is(strong,b) {font-family:var(--font-prim-bold);}
.faq_detail a {font:inherit; text-decoration:underline; text-underline-offset:.2em;}
.faq_detail :is(ul,ol) {padding-left:1.5em;}
.faq_detail ul {list-style:disc;}
.faq_detail ol {list-style:decimal;}
.faq_detail img {max-width:100%; height:auto;}
.faq_detail figure {margin:1rem 0;}
.faq_detail figcaption {font-size:14px;}
.faq_contact {display:flex; flex-wrap:wrap; gap:2rem; align-items:center; padding:2rem 0; margin-top:2rem;}
.faq_contact h2 {margin:0;}
.faq_public :is(a,summary):focus-visible {outline:3px solid var(--color-highlight-bright); outline-offset:4px;}
.faq_public_page [hidden] {display:none !important;}
.faq_public_page .menu_link#start {color:var(--color-contrast-dark);}
.faq_public_page .menu_link#faq {color:var(--color-highlight-bright);}

@media(max-width:550px) {.faq_group_grid {grid-template-columns:1fr;} .faq_group_card:first-child {grid-column:auto;} .faq_group_copy {padding-right:45px;} .faq_group_card .faq_group_symbol {width:56px; height:56px;} .faq_hero.segment.hero,.faq_hero .hero_back {min-height:520px;} .faq_hero .hero_box {padding:2rem;} .faq_search_row {flex-wrap:wrap;} .faq_search_row input {flex-basis:100%;} .faq_public {padding:2rem 1.5rem;}}
@media(prefers-reduced-motion:reduce) {.faq_chevron,.faq_group_card {transition:none;} .faq_group_card:hover {transform:none;} .faq_public_document,.faq_public_page {animation:none;}}

/* Each named family is an actual font file; suppress browser-generated bold/italic. */
.faq_public_page { font-synthesis:none; }
.faq_public_page :is(h1,h2,h3,h4,h5,h6,strong,b) { font-weight:normal; }
.faq_group_card[aria-current="true"] { box-shadow:0 0 0 3px var(--color-highlight-bright),0 0 0 6px var(--color-prim-bright); }
.faq_answers { scroll-margin-top:130px; margin-top:3rem; }
.faq_answers:focus { outline:none; }
