/* Fotodesign Winklmeier · kompaktere Inhalte · 23.09.2026 */
.fw-compact, .fw-compact * { box-sizing: border-box; min-width: 0; }
.compact-details { margin: 22px 0; padding: 0 18px; border: 1px solid #d9d1c3; border-radius: 2px; background: #fffdf9; color: inherit; }
.compact-details > summary { min-height: 48px; padding: 13px 0; font-size: 16px; font-weight: 700; line-height: 1.5; cursor: pointer; }
.compact-details > :not(summary) { margin-bottom: 18px; }
.compact-details > summary:focus-visible, .compact-faq-item > summary:focus-visible, .compact-faq-filters button:focus-visible { outline: 3px solid #cd6e00; outline-offset: 3px; }
.fdw-v3 .compact-history { margin-top: 24px; }
.fdw-v3 .compact-history > p { font-size: 16px; line-height: 1.65; }
.fdw-v3.fw-compact .fdw-v3-promises-head { grid-template-columns: minmax(0,1fr); }
.fdw-v3.fw-compact .fdw-v3-promises { padding-top: 50px; padding-bottom: 50px; }
.fdw-v3.fw-compact .fdw-v3-promise-card { min-height: 0; }
.fdw-v3.fw-compact .compact-home-quote { padding: 48px 24px; }
.compact-home-actions { width: min(calc(100% - 32px),1240px); margin: 32px auto; padding: 26px; border: 1px solid #d9d1c3; border-left: 3px solid #ac8149; border-radius: 2px; background: #fffdf9; }
.compact-home-actions h2 { margin: 0 0 12px; color: #16242c; font-family: "Cormorant Garamond","Iowan Old Style",Baskerville,Georgia,serif; font-size: clamp(30px,4vw,40px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.08; }
.compact-home-actions p { margin: 0 0 16px; }
.compact-home-actions > div { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.compact-home-actions a { display: inline-flex; align-items: center; min-height: 44px; color: #004062; font-weight: 700; text-decoration: underline; text-decoration-color: #ac8149; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.compact-home-actions a:hover, .compact-home-actions a:focus-visible { color: #7a1f2b; text-decoration-color: currentColor; }
.compact-model-facts { margin: 24px 0; }
.compact-model-facts > div { padding: 14px 0; border-bottom: 1px solid rgba(46,79,103,.23); }
.compact-model-facts dt { font-size: 16px; font-weight: 700; color: #203b4e; margin: 0 0 7px; }
.compact-model-facts dd { margin: 0; font-size: 16px; line-height: 1.65; }
#fdw-preise .compact-compass { margin: 24px 0; }
#fdw-preise .compact-compass .fdwp-kompass { margin: 0 0 18px; }
.fw-promotions .fw-promotion-banners { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: start; }
.fw-promotions .fw-promotion-banner { min-width: 0; width: 100%; margin: 0; }
.fw-promotions .fw-promotion-banner img { display: block; width: 100%; height: auto; object-fit: contain; }
.fw-promotions .fw-promotion-banner-caption { flex-wrap: wrap; gap: 8px; font-size: 14px; }
.fw-promotions .fw-promotion-banner-caption strong { font-size: 16px; }
#fdw-faq.fw-compact h1 { margin: 0 0 22px; color: var(--faq-blau-dunkel); font-family: Georgia,serif; font-size: clamp(30px,5vw,44px); line-height: 1.2; }
#fdw-faq.fw-compact [hidden] { display: none !important; }
.compact-faq-tools { margin: 22px 0; }
.compact-faq-tools label { display: block; font-weight: 700; margin-bottom: 8px; }
#fdw-faq .compact-faq-tools input { width: 100%; min-height: 48px; padding: 12px; border: 1px solid var(--faq-blau); border-radius: 8px; background: white; color: var(--faq-tinte); font: inherit; font-size: 16px; }
.compact-faq-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
#fdw-faq .compact-faq-filters button { min-height: 44px; max-width: 100%; border: 1px solid var(--faq-blau); padding: 9px 13px; border-radius: 8px; background: white; color: var(--faq-blau-dunkel); font: inherit; font-weight: 700; cursor: pointer; }
#fdw-faq .compact-faq-filters button[aria-pressed="true"] { background: var(--faq-blau); color: white; }
.compact-faq-count { font-size: 14px; }
.compact-faq-group { margin: 28px 0; }
#fdw-faq .compact-faq-group > h2 { font-size: 24px; color: var(--faq-blau-dunkel); margin: 0 0 12px; }
.compact-faq-item { margin: 10px 0; border: 1px solid var(--faq-blau); border-left: 4px solid var(--faq-orange); border-radius: 12px 5px 12px 5px; background: white; }
.compact-faq-group:nth-child(3n+2) .compact-faq-item { border-left-color: var(--faq-salbei); }
.compact-faq-group:nth-child(3n) .compact-faq-item { border-left-color: var(--faq-blau); }
.compact-faq-item > summary { min-height: 52px; padding: 15px 18px; color: var(--faq-blau-dunkel); cursor: pointer; font-weight: 700; line-height: 1.5; }
.compact-faq-item[open] > summary { border-bottom: 1px solid var(--faq-blau-hell); }
.compact-faq-answer { padding: 2px 18px 16px; }
#fdw-faq .compact-faq-answer p { font-size: 16px; line-height: 1.65; }
.compact-faq-answer a { color: var(--faq-blau-dunkel); text-underline-offset: 3px; }
.compact-action-heading { margin: 28px 0 20px; color: #203b4e; font-size: clamp(26px,4vw,38px); line-height: 1.25; }
.fdwp-page.fw-compact .fdwp-story__copy > p { margin-top: 0; }
.fdwp-page.fw-compact .compact-details { width: 100%; }
.fdwp-page.fw-compact .compact-details .fdwp-list-card { margin: 0 0 18px; }
#foto-termin-tool .compact-contact-heading { margin: 0 0 24px; color: #203b4e; font-family: Georgia,serif; font-size: clamp(32px,6vw,46px); line-height: 1.2; }
#foto-termin-tool.fw-compact .fdwm-contact-direct { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
#foto-termin-tool .compact-contact-address { margin: 18px 0 24px; }
#foto-termin-tool .compact-contact-address p { font-size: 16px; margin: 6px 0; }
#foto-termin-tool.fw-compact .fallback-notice { margin-top: 24px; padding: 16px; border-width: 1px; border-radius: 8px; box-shadow: none; background: #fffaf0; }
#foto-termin-tool.fw-compact .fallback-notice p { margin: 0; font-size: 16px; line-height: 1.6; }
@media screen and (max-width: 760px) {
 .fw-promotions .fw-promotion-banners { grid-template-columns: minmax(0,1fr); }
 .compact-model-facts dd { font-size: 16px; }
 .compact-details { padding: 0 14px; }
 #fdw-faq.fw-compact { padding: 22px 14px; margin-right: 16px; }
 #fdw-faq.fw-compact .compact-faq-item > summary { padding: 14px 12px; }
 #fdw-faq.fw-compact .compact-faq-answer { padding: 0 12px 12px; }
 #fdw-faq.fw-compact .compact-faq-filters button { font-size: 14px; }
 #foto-termin-tool.fw-compact .fdwm-contact-direct { grid-template-columns: minmax(0,1fr); }
 #foto-termin-tool.fw-compact .fdwm-contact-direct strong { font-size: clamp(14px,4.2vw,18px); }
 .compact-home-actions { padding: 22px 18px; }
 .compact-home-actions > div { flex-direction: column; gap: 4px; }
}
@media print {
 .compact-faq-tools, .compact-faq-empty { display: none !important; }
 #fdw-faq.fw-compact .compact-faq-item[hidden], #fdw-faq.fw-compact .compact-faq-group[hidden] { display: block !important; }
 .compact-details, .compact-faq-item { break-inside: avoid; }
}
