/* realfox Suchprofil – Werte 1:1 aus dem realfox Bewertungstool (realfox-immobilienbewertung/assets/style.css) */
.rfsp{
	--rfsp-primary:#8F8071;--rfsp-accent:#8F8071;
	--rfsp-ink:#000;--rfsp-line:#E0E0E0;--rfsp-line-strong:#000;--rfsp-tint:#F0F0F0;
	--rfsp-err:#C43D31;--rfsp-disabled:#D3D3D3;
	max-width:1200px;margin:0 auto;background:transparent;color:var(--rfsp-ink);position:relative;
}
.rfsp *,.rfsp *::before,.rfsp *::after{box-sizing:border-box}
.rfsp h3,.rfsp h4{margin:0;line-height:1.25}
.rfsp fieldset{border:0;margin:0;padding:0;min-width:0}
.rfsp legend{padding:0;float:left;width:100%}
.rfsp legend + *{clear:both}
.rfsp h3,.rfsp legend,.rfsp label,.rfsp button,.rfsp input,.rfsp select,.rfsp textarea{font-family:inherit;letter-spacing:normal;text-transform:none}
.rfsp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Schritte */
.rfsp-step{display:flex;flex-direction:column}
.rfsp-step[hidden]{display:none}

/* Einleitung (optional, standardmässig aus) */
.rfsp-intro{margin:0 0 40px}
.rfsp-eyebrow{margin:0 0 8px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--rfsp-accent)}
.rfsp-h1{margin:0 0 16px}
.rfsp-bullets{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-direction:column;gap:8px}
.rfsp-bullets li{display:flex;align-items:center;gap:10px;margin:0;font-weight:600}
.rfsp-bullets svg{width:20px;height:20px;flex:none}
.rfsp-bullets circle{fill:var(--rfsp-accent)}
.rfsp-bullets path{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rfsp-lead{margin:0}

/* Fortschritt: nummerierte Kreise */
.rfsp-progress{margin-bottom:32px}
.rfsp-dots{display:flex;align-items:center;list-style:none;margin:0 0 14px;padding:0}
.rfsp-dots li{display:flex;align-items:center;flex:1 1 auto;margin:0;padding:0}
.rfsp-dots li:last-child{flex:0 0 auto}
.rfsp-dots span{flex:0 0 auto;width:42px;height:42px;border-radius:50%;background:#E0E0E0;color:#8A8A8A;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;transition:background .25s ease,color .25s ease}
.rfsp-dots li:not(:last-child)::after{content:"";flex:1 1 auto;height:2px;background:#E0E0E0;transition:background .25s ease}
.rfsp-dots li.is-active span,.rfsp-dots li.is-done span{background:var(--rfsp-accent);color:#fff}
.rfsp-dots li.is-done::after{background:var(--rfsp-accent)}
.rfsp-progress__label{display:block;margin:0;font-size:14px;font-weight:600}

/* Überschriften = Feld-Labels wie im Bewertungstool */
.rfsp-title{display:block;font-size:16px;font-weight:600;line-height:1.25;margin:22px 0 8px;color:var(--rfsp-ink)}
.rfsp-step > .rfsp-title:first-child,.rfsp legend.rfsp-title{margin-top:0}
.rfsp-title small,.rfsp-field small{font-weight:400;opacity:.65}
.rfsp-hint{font-size:13px;opacity:.65;margin:0 0 10px}
.rfsp-encourage{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--rfsp-accent)}

/* Objekttyp-Kacheln */
.rfsp-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.rfsp-card{position:relative;cursor:pointer;margin:0;min-width:0}
.rfsp-card input,.rfsp-chip input,.rfsp-segment input{position:absolute;opacity:0;pointer-events:none}
.rfsp-card__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%;padding:28px 16px;background:#fff;border:1px solid var(--rfsp-line-strong);border-radius:0;color:var(--rfsp-ink);text-align:center;transition:background .2s,border-color .2s,color .2s}
.rfsp-card svg{width:60px;height:60px;color:var(--rfsp-ink)}
.rfsp-card__label{display:block;max-width:100%;font-size:16px;font-weight:600;line-height:1.25;overflow-wrap:break-word;hyphens:auto}
.rfsp-card:hover .rfsp-card__inner{border-color:var(--rfsp-accent)}
.rfsp-card input:checked + .rfsp-card__inner{background:var(--rfsp-accent);border-color:var(--rfsp-accent)}
.rfsp-card input:checked + .rfsp-card__inner svg,.rfsp-card input:checked + .rfsp-card__inner .rfsp-card__label{color:#fff}

/* Auswahl-Boxen (Regionen, Merkmale) = Unterkategorien */
.rfsp-chips{display:flex;flex-wrap:wrap;gap:8px}
.rfsp-chip{position:relative;cursor:pointer;margin:0}
.rfsp-chip span{display:block;background:#fff;border:1px solid var(--rfsp-line-strong);border-radius:0;padding:13px 18px;font-size:15px;color:var(--rfsp-ink);user-select:none;transition:background .2s,border-color .2s,color .2s}
.rfsp-chip:hover span{border-color:var(--rfsp-accent)}
.rfsp-chip input:checked + span{background:var(--rfsp-accent);border-color:var(--rfsp-accent);color:#fff}

/* Anrede = Toggle-Kacheln */
.rfsp-segment{display:flex;gap:8px}
.rfsp-segment label{position:relative;cursor:pointer;margin:0;flex:1}
.rfsp-segment span{display:block;background:#fff;border:1px solid var(--rfsp-line-strong);border-radius:0;padding:16px 18px;font-size:16px;text-align:center;transition:background .2s,border-color .2s,color .2s}
.rfsp-segment label:hover span{border-color:var(--rfsp-accent)}
.rfsp-segment input:checked + span{background:var(--rfsp-accent);border-color:var(--rfsp-accent);color:#fff}

.rfsp-card input:focus-visible + .rfsp-card__inner,.rfsp-chip input:focus-visible + span,.rfsp-segment input:focus-visible + span,.rfsp-btn:focus-visible{outline:2px solid var(--rfsp-accent);outline-offset:2px}

/* Felder: nur Unterstrich */
.rfsp-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.rfsp-field{display:flex;flex-direction:column;margin-top:22px;position:relative}
.rfsp-field label{font-size:16px;font-weight:600;margin-bottom:8px}
.rfsp input[type=text],.rfsp input[type=email],.rfsp input[type=tel],.rfsp textarea{
	width:100%;font-size:16px;font-family:inherit;color:var(--rfsp-ink);background:#fff;border:none;border-bottom:1px solid var(--rfsp-line-strong);padding:10px 2px;border-radius:0;outline:none;box-shadow:none;margin:0}
.rfsp select{
	width:100%;font-size:16px;font-family:inherit;color:var(--rfsp-ink);background-color:#fff;border:none;border-bottom:1px solid var(--rfsp-line-strong);padding:10px 28px 10px 2px;border-radius:0;outline:none;cursor:pointer;box-shadow:none;margin:0;
	-webkit-appearance:none;-moz-appearance:none;appearance:none;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;background-size:16px}
.rfsp input:focus,.rfsp select:focus,.rfsp textarea:focus{border-bottom:2px solid var(--rfsp-accent);padding-bottom:9px}
.rfsp textarea{resize:vertical}
.rfsp input::placeholder,.rfsp textarea::placeholder{color:#999;opacity:1}
.rfsp .is-invalid{border-bottom-color:var(--rfsp-err)!important}
.rfsp .is-invalid .rfsp-card__inner,.rfsp .is-invalid .rfsp-chip span{border-color:var(--rfsp-err)}
.rfsp-affix{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--rfsp-line-strong);background:#fff}
.rfsp-affix span{flex:none;font-size:16px;opacity:.65;padding:0 2px}
.rfsp .rfsp-affix input{border-bottom:none!important;padding-bottom:10px!important;flex:1;min-width:0}
.rfsp-affix:focus-within{border-bottom:2px solid var(--rfsp-accent);margin-bottom:-1px}
.rfsp .is-invalid.rfsp-affix,.rfsp .rfsp-affix:has(.is-invalid){border-bottom-color:var(--rfsp-err)}

/* Einwilligung + Hinweis */
.rfsp-check{display:flex;gap:10px;align-items:flex-start;margin-top:22px;font-size:13px;line-height:1.5;cursor:pointer}
.rfsp-check span{opacity:.8}
.rfsp-check input{width:18px;height:18px;margin:1px 0 0;flex:none;accent-color:var(--rfsp-accent)}
.rfsp-check a{color:inherit;text-decoration:underline}
.rfsp-disclaimer{font-size:13px;opacity:.65;margin:18px 0 0;line-height:1.5}

/* Fehler */
.rfsp-error{display:block;margin:8px 0 0;font-size:13px;color:var(--rfsp-err)}
.rfsp-error:empty{display:none}
.rfsp-error--global{margin-top:18px;font-size:15px}

/* Buttons */
.rfsp-nav{display:flex;gap:14px;margin-top:28px}
.rfsp .rfsp-btn{background:var(--rfsp-accent)!important;color:#fff!important;border:none!important;border-radius:999px!important;padding:16px 32px;font-size:14px!important;font-weight:400!important;text-transform:uppercase!important;letter-spacing:2px!important;line-height:1.3;cursor:pointer;width:100%;flex:2;display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:none}
.rfsp .rfsp-btn:hover{opacity:.9}
.rfsp .rfsp-btn--ghost{background:transparent!important;color:var(--rfsp-ink)!important;border:1px solid var(--rfsp-line-strong)!important;width:auto;flex:1}
.rfsp .rfsp-btn[disabled]{background:var(--rfsp-disabled)!important;cursor:wait}
.rfsp-btn.is-loading::after{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:rfsp-spin .7s linear infinite}
@keyframes rfsp-spin{to{transform:rotate(360deg)}}

.rfsp-hp{position:absolute!important;left:-9999px!important;top:-9999px!important}

/* Erfolg */
.rfsp-success{display:flex;align-items:flex-start;gap:14px;padding:24px 26px;background:#EAF6ED;border-radius:8px;outline:none}
.rfsp-success[hidden]{display:none}
.rfsp-success__icon{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:#3F9E52;color:#fff;display:flex;align-items:center;justify-content:center}
.rfsp-success__icon svg{width:16px;height:16px}
.rfsp-success h3{font-size:18px;font-weight:700;line-height:1.4;color:#1F5E2C;margin:2px 0 4px}
.rfsp-success p{margin:0;font-size:15px;color:#1F5E2C}
.rfsp-restart{margin-top:12px;padding:0;background:none;border:none;color:#1F5E2C;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* Fuchs-Logo */
.rfsp-footer-logo{display:flex;align-items:center;gap:10px;margin-top:28px;opacity:.55}
.rfsp-footer-logo img{width:20px!important;max-width:20px!important;height:auto!important;flex-shrink:0}
.rfsp-footer-logo span{font-size:13px;color:var(--rfsp-ink)}

@media (max-width:560px){
	.rfsp-grid{grid-template-columns:1fr}
	.rfsp-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
	.rfsp-nav{flex-direction:column-reverse;gap:16px}
	.rfsp .rfsp-btn--ghost{background:none!important;border:none!important;width:auto;padding:4px 0;text-align:center;text-decoration:underline;text-underline-offset:3px;font-size:14px!important;text-transform:none!important;letter-spacing:normal!important;font-weight:400!important}
	.rfsp .rfsp-btn{padding:16px 20px;font-size:13px!important;letter-spacing:1.6px!important}
	.rfsp .rfsp-btn.rfsp-btn--ghost{padding:4px 0;font-size:14px!important;letter-spacing:normal!important}
	.rfsp input[type=text],.rfsp input[type=email],.rfsp input[type=tel],.rfsp select,.rfsp textarea{padding-top:12px;padding-bottom:12px}
	.rfsp-chip span,.rfsp-segment span{padding:13px 14px}
	.rfsp-progress__label{font-size:13px}
	.rfsp .rfsp-affix input{padding-bottom:12px!important}
}
@media (max-width:420px){
	.rfsp-card__inner{padding:16px}
	.rfsp-card svg{width:44px;height:44px}
	.rfsp-card__label{font-size:15px}
}
