/* CMF Ratgeber – im Look der Website */
.cmfr-box,.cmfr-panel{--cmfr-acc:#97C1F7;font-family:inherit;color:#000}
.cmfr-box{box-sizing:border-box;background:#F0F3F6;border-radius:20px;padding:32px;margin:24px 0;max-width:720px}
.cmfr-chip{display:inline-block;background:var(--cmfr-acc);color:#000;border-radius:20px;padding:7px 14px;font-weight:700;font-size:14px;line-height:1.2;letter-spacing:normal;text-transform:none}
.cmfr-title{color:#000;font-weight:normal;font-family:"PFDinDisplayPro-Bold","Arial Black",Arial,sans-serif;text-transform:uppercase;font-size:32px;line-height:1.05;margin:14px 0 10px}
.cmfr-text{margin:0 0 18px}
.cmfr-form{margin:0}
.cmfr-label{display:block;font-weight:700;font-size:15px;margin:12px 0 6px}
.cmfr-input{display:block;width:100%;box-sizing:border-box;border:2px solid #000;border-radius:14px;background:#fff;padding:13px 16px;font:inherit;font-size:17px;color:#000;margin:0}
.cmfr-input:focus{outline:3px solid #0B57D0;outline-offset:2px}
.cmfr-input[aria-invalid="true"]{border-color:#B42318}
.cmfr-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;margin:14px 0 0;cursor:pointer}
.cmfr-check input{width:20px;height:20px;flex:0 0 20px;margin:1px 0 0;accent-color:#000}
.cmfr-check em{font-style:normal;color:#4A4F57}
.cmfr-privacy{font-size:13px;color:#4A4F57;margin:12px 0 0}
.cmfr-privacy a{color:#000;text-decoration:underline}
.cmfr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cmfr-btn{display:inline-block;margin-top:18px;cursor:pointer;border:2px solid #000;background:#000;color:#fff;border-radius:94px;padding:15px 30px;font-family:"PFDinDisplayPro-Bold","Arial Black",Arial,sans-serif;font-size:18px;line-height:1.2;text-transform:uppercase;letter-spacing:.02em;transition:background .15s,color .15s}
.cmfr-btn:hover{background:#fff;color:#000}
.cmfr-btn:focus-visible{outline:3px solid #0B57D0;outline-offset:3px}
.cmfr-btn[disabled]{opacity:.6;cursor:wait}
.cmfr-ts{margin-top:16px;min-height:65px}
.cmfr-msg{font-size:15px;margin-top:12px}
.cmfr-msg.is-error{color:#B42318;font-weight:600}
.cmfr-msg.is-ok{background:#fff;border-radius:14px;padding:16px 18px;border:2px solid var(--cmfr-acc);font-size:16px;color:#000}
.cmfr-form.is-done .cmfr-fields{display:none}

/* Auswahl */
.cmfr-chooser{display:grid;gap:12px}
.cmfr-pick{background:#F0F3F6;border-radius:20px;overflow:hidden;transition:background .2s}
.cmfr-pick-btn{all:unset;box-sizing:border-box;display:block;width:100%;padding:18px 20px;cursor:pointer;border-radius:20px;color:#000;transition:background .2s,color .2s}
.cmfr-pick-btn,.cmfr-pick-btn:hover,.cmfr-pick-btn:focus{background:transparent!important;box-shadow:none!important}
.cmfr-pick:hover{background:#000!important}
.cmfr-pick:hover .cmfr-pick-name{color:var(--cmfr-acc)!important}
.cmfr-pick:hover .cmfr-pick-teaser{color:#fff!important}
.cmfr-pick-btn:focus-visible{outline:3px solid #0B57D0;outline-offset:-3px}
.cmfr-pick.is-open,.cmfr-pick.is-open:hover{background:#F0F3F6!important}
.cmfr-pick-btn[aria-expanded="true"],.cmfr-pick-btn[aria-expanded="true"]:hover{background:var(--cmfr-acc)!important}
.cmfr-pick.is-open .cmfr-pick-name,.cmfr-pick.is-open:hover .cmfr-pick-name{color:#000!important}
.cmfr-pick.is-open .cmfr-pick-teaser,.cmfr-pick.is-open:hover .cmfr-pick-teaser{color:#222!important}
.cmfr-pick-name{display:block;color:#000;font-weight:normal;letter-spacing:normal;transition:color .2s;font-family:"PFDinDisplayPro-Bold","Arial Black",Arial,sans-serif;text-transform:uppercase;font-size:23px;line-height:1.1;margin:10px 0 4px}
.cmfr-pick-teaser{display:block;font-size:14px;line-height:1.4;color:#222}
.cmfr-pick-form{padding:4px 20px 20px}
.cmfr-pick-btn[aria-expanded="true"] .cmfr-chip{background:#fff}

/* Schwebender Button */
.cmfr-float{position:fixed;right:0;top:50%;z-index:99990;transform:translate(110%,-50%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.cmfr-float.is-in{transform:translate(0,-50%)}
.cmfr-float-btn{all:unset;position:relative;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px;width:52px;writing-mode:horizontal-tb;background:var(--cmfr-fbg,#97C1F7);color:#000;border:2px solid #000;border-right:0;border-radius:16px 0 0 16px;padding:24px 15px;font-family:"PFDinDisplayPro-Bold","Arial Black",Arial,sans-serif;font-size:19px;line-height:1;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 12px 34px rgba(0,0,0,.35)}
.cmfr-float-btn:hover{background:#fff;color:#000}
.cmfr-float-icon svg{width:22px;height:22px}
.cmfr-float.is-in .cmfr-float-btn{animation:cmfrNudge 1s ease-in-out .6s 2}
@keyframes cmfrNudge{0%,100%{transform:translateX(0)}30%{transform:translateX(-8px)}60%{transform:translateX(0)}80%{transform:translateX(-4px)}}
.cmfr-float-btn:focus-visible{outline:3px solid #0B57D0;outline-offset:2px}
.cmfr-float-icon{display:flex}
.cmfr-float-label{display:block;writing-mode:vertical-rl;white-space:nowrap}
.cmfr-float-btn:after{content:"";position:absolute;left:-5px;top:-5px;width:12px;height:12px;border-radius:50%;background:#F4A6A0;border:2px solid #fff;animation:cmfrPulse 2.4s ease-in-out infinite}
@keyframes cmfrPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}
@media (min-width:768px){.cmfr-float.cmfr-no-desktop{display:none}}
@media (max-width:767px){
	.cmfr-float.cmfr-no-mobile{display:none}
	.cmfr-float{top:auto;bottom:88px;transform:translate(110%,0)}
	.cmfr-float.is-in{transform:translate(0,0)}
	.cmfr-float-btn{flex-direction:row;width:auto;padding:14px 16px 14px 18px;font-size:16px;border-radius:26px 0 0 26px}
	.cmfr-float-label{writing-mode:horizontal-tb}
}

/* Panel */
.cmfr-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:99991}
.cmfr-panel{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:100%;box-sizing:border-box;background:#fff;z-index:99992;overflow-y:auto;padding:30px 26px 40px;box-shadow:-20px 0 50px rgba(0,0,0,.25);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.cmfr-panel.is-open{transform:translateX(0)}
.cmfr-panel[hidden],.cmfr-overlay[hidden]{display:none}
.cmfr-panel-title{color:#000!important;font-weight:normal!important;letter-spacing:normal;font-family:"PFDinDisplayPro-Bold","Arial Black",Arial,sans-serif;text-transform:uppercase;font-size:30px;line-height:1.05;margin:8px 40px 10px 0}
.cmfr-panel-intro{margin:0 0 18px;font-size:16px}
.cmfr-close{all:unset;cursor:pointer;position:absolute;top:18px;right:18px;width:40px;height:40px;border-radius:50%;border:2px solid #000;text-align:center;line-height:36px;font-size:24px}
.cmfr-close:focus-visible{outline:3px solid #0B57D0;outline-offset:2px}
.cmfr-panel .cmfr-btn{width:100%;text-align:center;box-sizing:border-box}
@media (max-width:600px){.cmfr-box{padding:22px}.cmfr-title{font-size:26px}}
@media (prefers-reduced-motion:reduce){.cmfr-float,.cmfr-panel{transition:none}.cmfr-float-btn:after,.cmfr-float.is-in .cmfr-float-btn{animation:none}}

/* WordPress-Adminleiste */
.admin-bar .cmfr-panel{top:32px}
@media (max-width:782px){.admin-bar .cmfr-panel{top:46px}}

/* Theme-Hover der Buttons überschreiben (Hintergründe nie durchsichtig) */
.cmfr-float-btn,.cmfr-float-btn:focus{background:var(--cmfr-fbg,#97C1F7)!important;color:#000!important;opacity:1!important}
.cmfr-float-btn:hover{background:#fff!important;color:#000!important;opacity:1!important}
.cmfr-btn,.cmfr-btn:focus{background:#000!important;color:#fff!important;border-color:#000!important;opacity:1!important}
.cmfr-btn:hover{background:#fff!important;color:#000!important;border-color:#000!important}
.cmfr-close,.cmfr-close:hover,.cmfr-close:focus{background:#fff!important;color:#000!important;opacity:1!important}
.cmfr-close:hover{background:#000!important;color:#fff!important}

/* Eingabefelder: Theme-Styles überschreiben */
.cmfr-form .cmfr-input,.cmfr-form .cmfr-input:hover{display:block!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;background:#fff!important;background-image:none!important;color:#000!important;border:2px solid #000!important;border-radius:14px!important;padding:13px 16px!important;font-size:17px!important;line-height:1.3!important;height:auto!important;min-height:52px!important;margin:0!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}
.cmfr-form .cmfr-input:focus{background:#fff!important;border-color:#000!important;outline:3px solid #0B57D0!important;outline-offset:2px!important;box-shadow:none!important}
.cmfr-form .cmfr-input[aria-invalid="true"]{border-color:#B42318!important}
.cmfr-form .cmfr-input::placeholder{color:#6B7280}

/* Handy: kompakter runder Icon-Button */
@media (max-width:767px){
	.cmfr-float{right:16px!important;bottom:var(--cmfr-fb,20px)!important;top:auto!important;transform:translateX(calc(100% + 24px))!important}
	.cmfr-float.is-in{transform:none!important}
	.cmfr-float .cmfr-float-btn{width:56px!important;height:56px!important;padding:0!important;border:2px solid #000!important;border-radius:50%!important;justify-content:center!important;gap:0!important}
	.cmfr-float .cmfr-float-icon svg{width:24px;height:24px}
	.cmfr-float .cmfr-float-label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
	.cmfr-float .cmfr-float-btn:after{left:auto;right:-2px;top:-2px}
}
