/* Kontakt rechts unten (alle Seiten) – Peter als Ansprechpartner, Karte im „Photo Print“-Stil der Seite */
.fr-contact{--fc-ember:#b95733;--fc-ember-dark:#934229;--fc-ink:#171a16;--fc-paper:#f2ece2;--fc-muted:#5d625b;
  position:fixed;right:24px;bottom:24px;z-index:120;font-family:"DM Sans",sans-serif;color:var(--fc-ink)}

/* Auslöser: rundes Porträt mit Telefon-Marke */
.fr-contact-toggle{position:relative;display:block;width:68px;height:68px;padding:0;border:3px solid var(--fc-paper);border-radius:50%;
  background:#222;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.4);transition:transform .3s cubic-bezier(.23,1,.32,1)}
.fr-contact-toggle img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;filter:saturate(.92) contrast(1.04)}
.fr-contact-toggle:hover{transform:translateY(-3px) rotate(-3deg)}
.fr-contact-toggle:focus-visible{outline:2px solid #d6b477;outline-offset:4px}
.fr-contact-badge{position:absolute;left:-6px;bottom:-4px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--fc-ember);color:#fff;border:2px solid var(--fc-paper)}
.fr-contact-badge svg{width:14px;height:14px}
.fr-contact.open .fr-contact-toggle{transform:scale(.9)}

/* kurzer Hinweis als Papier-Etikett */
.fr-contact-label{position:absolute;right:80px;bottom:20px;white-space:nowrap;padding:7px 12px 6px;background:var(--fc-paper);color:var(--fc-ink);
  font-family:"Anton","Arial Narrow",sans-serif;font-size:15px;letter-spacing:.02em;text-transform:uppercase;line-height:1;
  box-shadow:0 8px 20px rgba(0,0,0,.28);transform:rotate(-2deg) translateX(10px);opacity:0;transition:opacity .35s ease,transform .35s ease;pointer-events:none}
.fr-contact.hint .fr-contact-label{opacity:1;transform:rotate(-2deg)}
.fr-contact.open .fr-contact-label{opacity:0}

/* Karte */
.fr-contact-panel{position:absolute;right:0;bottom:86px;width:340px;max-width:calc(100vw - 28px);
  opacity:0;visibility:hidden;transform:translateY(14px) rotate(1.5deg);transform-origin:bottom right;
  transition:opacity .28s ease,transform .4s cubic-bezier(.23,1,.32,1),visibility 0s linear .4s}
.fr-contact.open .fr-contact-panel{opacity:1;visibility:visible;transform:rotate(-1deg);transition:opacity .28s ease,transform .4s cubic-bezier(.23,1,.32,1)}
.fr-contact-print{position:relative;padding:10px 10px 6px;background:var(--fc-paper);box-shadow:0 26px 60px rgba(0,0,0,.5),0 2px 0 rgba(0,0,0,.08)}
.fr-contact-photo{margin:0 0 14px;aspect-ratio:16/9;overflow:hidden;background:#2a2a2a}
.fr-contact-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05) sepia(.06)}
.fr-contact-x{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;
  background:rgba(15,17,15,.6);color:#fff;cursor:pointer;backdrop-filter:blur(4px)}
.fr-contact-x svg{width:15px;height:15px}
.fr-contact-x:hover{background:var(--fc-ember)}
.fr-contact-x:focus-visible{outline:2px solid #d6b477;outline-offset:2px}
.fr-contact-eyebrow{display:block;padding:0 8px;color:var(--fc-ember);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.fr-contact-print h2{margin:5px 0 6px;padding:0 8px;font-family:"Anton","Arial Narrow",sans-serif;font-weight:400;font-size:25px;line-height:1.05;
  letter-spacing:.01em;text-transform:uppercase;color:var(--fc-ink)}
.fr-contact-print p{margin:0 0 10px;padding:0 8px;font-size:13.5px;line-height:1.5;color:var(--fc-muted)}
.fr-contact-list{list-style:none;margin:0;padding:0}
.fr-contact-list li{border-top:1.5px dashed rgba(23,26,22,.22)}
.fr-contact-list a{display:grid;grid-template-columns:72px 1fr auto;align-items:baseline;gap:8px;padding:12px 8px;color:var(--fc-ink);text-decoration:none;transition:background .2s ease}
.fr-contact-list .k{font-family:"Anton","Arial Narrow",sans-serif;font-size:15px;letter-spacing:.03em;text-transform:uppercase;color:var(--fc-ember)}
.fr-contact-list .v{font-size:13.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-contact-list .arr{color:var(--fc-ember);transition:transform .2s ease}
.fr-contact-list a:hover{background:rgba(185,87,51,.09)}
.fr-contact-list a:hover .arr{transform:translateX(3px)}
.fr-contact-list a:focus-visible{outline:2px solid var(--fc-ember);outline-offset:-2px}

@media (max-width:760px){
  .fr-contact{right:14px;bottom:14px}
  .fr-contact-toggle{width:60px;height:60px}
  .fr-contact-panel{bottom:76px}
  .fr-contact-label{display:none}
  body.has-sticky-cta .fr-contact{bottom:82px}
}
@media (prefers-reduced-motion:reduce){.fr-contact *{transition:none!important}}
@media print{.fr-contact{display:none}}
