/* Ergänzung für öffentliche Vergleichsabschlüsse – mobil zuerst. */
.ff-contact-journey { margin:0 0 19px; padding:13px 15px; border:1px solid #dae8e1; border-radius:14px; background:#f7fbf8; color:#213b33; }
.ff-contact-journey-heading,.ff-contact-journey-labels { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.ff-contact-journey-heading strong { color:#187b44; font-weight:750; font-size:13px; }
.ff-contact-journey-heading>span { color:#596e66; font-size:12px; }
.ff-contact-journey-meter { display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:9px 0 12px; }
.ff-contact-journey-meter>span { height:5px; background:#d5e3dc; border-radius:5px; }
.ff-contact-journey-meter>.is-active { background:#19844a; }
.ff-contact-journey-labels span { display:flex; flex-direction:column; gap:3px; min-width:0; }
.ff-contact-journey-labels b { font-size:12px; font-weight:750; }
.ff-contact-journey-labels small { color:#586b62; font-size:11px; line-height:1.35; }
.ff-contact-address { width:100%; margin:12px 0 17px; border:1px solid #e0e6e9; border-radius:11px; background:#fff; overflow:hidden; }
.ff-contact-address summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:11px 14px; cursor:pointer; color:#235b43; font-size:13px; font-weight:700; list-style:none; }
.ff-contact-address summary::-webkit-details-marker { display:none; }
.ff-contact-address-toggle small { color:#74857d; font-weight:500; margin-left:5px; }
.ff-contact-address-chevron { transition:transform .2s; font-size:16px; }
.ff-contact-address[open] .ff-contact-address-chevron { transform:rotate(180deg); }
.ff-contact-address-fields { display:grid; grid-template-columns:minmax(0,2fr) minmax(110px,1fr); gap:10px; padding:0 14px 14px; }
.ff-contact-address-field { display:flex; flex-direction:column; gap:6px; min-width:0; color:#253d34; font-size:12px; font-weight:650; }
.ff-contact-address-field input { box-sizing:border-box; min-width:0; width:100%; min-height:44px; padding:10px 12px; border:1px solid #cbd9d2; border-radius:8px; background:#fff; color:#192d25; font:inherit; font-size:15px; }
.ff-contact-address-field input:focus-visible,.ff-contact-address summary:focus-visible { outline:2px solid #168446; outline-offset:2px; }
.ff-contact-address-note { grid-column:1/-1; margin:0; font-size:11px; color:#62776c; line-height:1.45; }
.ff-contact-trust { display:flex; flex-wrap:wrap; justify-content:center; gap:7px 14px; margin:10px 0 0; font-size:11px; color:#39634b; }
.ff-contact-trust span { white-space:normal; }
.ff-pkv-success .ff-contact-journey,.ff-calc-success .ff-contact-journey,.ff-tool-success .ff-contact-journey { margin:0 0 18px; text-align:left; }
@media (max-width:520px) {
 .ff-contact-journey { padding:11px 12px; }
 .ff-contact-journey-labels { gap:8px; }
 .ff-contact-journey-labels b { font-size:11.5px; }
 .ff-contact-address-fields { grid-template-columns:minmax(0,1.6fr) minmax(88px,1fr); gap:8px; padding:0 11px 12px; }
 .ff-contact-address summary { padding:11px; }
 .ff-contact-address-field input { padding:9px 8px; }
}

/* Financefair Forms 1.1.7: kurze Datenschutzinformation und telefonische Rückfragen */
.ff-contact-phone-wrap { position:relative; min-width:0; }
.ff-contact-phone-wrap>label { display:flex; min-width:0; }
.ff-contact-phone-info-button { position:absolute; z-index:2; top:1px; right:2px; display:flex; align-items:center; justify-content:center; width:27px; height:27px; padding:0; border:1.5px solid #94a3a8; border-radius:50%; background:#fff; color:#637982; font-size:15px; font-weight:750; cursor:pointer; line-height:1; }
.ff-contact-phone-info-button:hover,.ff-contact-phone-info-button:focus-visible { border-color:#19844a; color:#19844a; outline-offset:3px; }
.ff-contact-phone-info-note { position:relative; z-index:3; width:100%; box-sizing:border-box; margin-top:7px; padding:12px 14px; border:1px solid #cfe1d7; border-radius:10px; background:#f5fbf7; box-shadow:0 4px 14px rgba(17,52,37,.05); text-align:left; font-size:12px; color:#273b32; }
.ff-contact-phone-info-note[hidden] { display:none !important; }
.ff-contact-phone-info-note strong { display:block; margin:0 0 5px; font-weight:750; }
.ff-contact-phone-info-note p { margin:0; line-height:1.5; color:#3d5950; }
.ff-contact-privacy-notice { color:#60746a; font-size:11.5px; line-height:1.5; margin:13px 0 12px; text-align:left; }
.ff-contact-privacy-notice a { color:#196b4c; font-weight:650; text-underline-offset:2px; }
.ff-contact-confirmation-summary { margin:12px 0 18px; padding:14px 16px; background:#f5faf7; border:1px solid #dcebe1; border-radius:13px; text-align:left; }
.ff-contact-confirmation-summary h4 { margin:0 0 12px; color:#244f39; font-size:14px; font-weight:750; }
.ff-contact-confirmation-summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; gap:12px 16px; }
.ff-contact-confirmation-summary dl>div { min-width:0; }
.ff-contact-confirmation-summary dt { display:block; font-size:11px; color:#6a8075; line-height:1.35; }
.ff-contact-confirmation-summary dd { display:block; margin:3px 0 0; font-size:13px; line-height:1.4; color:#27382f; font-weight:650; overflow-wrap:anywhere; }
.ff-contact-confirmation-steps { margin:10px 0 16px; display:grid; gap:12px; text-align:left; }
.ff-contact-confirmation-step { display:flex; gap:12px; align-items:center; }
.ff-contact-confirmation-step-icon { display:flex; flex:0 0 33px; align-items:center; justify-content:center; width:33px; height:33px; border-radius:50%; background:#e7f4eb; color:#168044; font-weight:750; font-size:14px; }
.ff-contact-confirmation-step.is-active .ff-contact-confirmation-step-icon { background:#e7edf0; color:#576b74; }
.ff-contact-confirmation-step>span:last-child { display:flex; flex-direction:column; gap:3px; }
.ff-contact-confirmation-step strong { font-size:13px; line-height:1.25; color:#263e33; }
.ff-contact-confirmation-step small { font-size:11.5px; color:#62766d; line-height:1.4; }
@media (max-width:520px) {
 .ff-contact-confirmation-summary { padding:12px; }
 .ff-contact-confirmation-summary dl { gap:10px; }
 .ff-contact-privacy-notice { font-size:11px; }
 .ff-contact-phone-info-button { width:25px; height:25px; }
}

/* 1.1.8 – dezenter gelber Kundenhinweis erst nach erfolgreicher Vergleichsanfrage */
.ff-contact-duplicate-note {
  box-sizing:border-box; display:flex; align-items:flex-start; gap:10px;
  width:100%; margin:14px 0 0; padding:13px 14px;
  border:1px solid #f0dc9f; border-radius:12px;
  background:#fff8e5; color:#704e1a; text-align:left;
}
.ff-contact-duplicate-note-icon {
  display:flex; flex:0 0 23px; align-items:center; justify-content:center;
  width:23px; height:23px; border:1.5px solid #bb8b39;
  border-radius:50%; color:#9f731f; font-size:13px; font-weight:750;
  line-height:1;
}
.ff-contact-duplicate-note-body { min-width:0; }
.ff-contact-duplicate-note strong {
  display:block; margin:1px 0 7px; color:#654613; font-size:13px;
  font-weight:750; line-height:1.35;
}
.ff-contact-duplicate-note p {
  margin:0 0 7px; color:#705224; font-size:12px; line-height:1.5;
}
.ff-contact-duplicate-note p:last-child { margin-bottom:0; }
.ff-contact-duplicate-note p strong {
  display:inline; margin:0; font-size:inherit; line-height:inherit;
  color:inherit; font-weight:800;
}
@media (max-width:520px) {
  .ff-contact-duplicate-note { gap:9px; padding:12px; }
  .ff-contact-duplicate-note strong { font-size:12.5px; }
  .ff-contact-duplicate-note p { font-size:11.5px; }
}
