/* Partner Immobilien Rechner – im Stil der Website (Leinen, Gold, Navy-Akzente, Glas) */
.pir-app{--g:var(--pi-gold,#a7885f);--gd:var(--pi-gold-d,#8a6d47);--gl:var(--pi-gold-l,#cdb594);--n:var(--pi-navy,#062947);--ink:var(--pi-ink,#1f1c19);--tx:var(--pi-text,#4a443e);--mu:var(--pi-muted,#7d7268);--line:rgba(167,136,95,.22);--ease:cubic-bezier(.22,1,.36,1);font-family:var(--pi-sans,"Jost",system-ui,sans-serif);color:var(--ink);max-width:880px;margin:0 auto;text-align:left}
.pir-app *{box-sizing:border-box}
.pir-app.pir-app .pir-card{position:relative;border-radius:30px;padding:34px 36px 30px;background:linear-gradient(160deg,rgba(255,255,255,.78),rgba(255,255,255,.5));box-shadow:inset 0 1px 1px #fff,inset 0 0 0 1px rgba(255,255,255,.6),0 30px 70px -40px rgba(60,44,24,.45);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.pir-app.pir-app .pir-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.pir-app.pir-app .pir-brand{display:flex;align-items:center;gap:14px;min-width:0}
.pir-app.pir-app .pir-logo{display:block;height:34px;width:auto;max-width:110px;object-fit:contain;padding-right:14px;border-right:1px solid rgba(167,136,95,.35)}
.pir-app.pir-app .pir-eyebrow{font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gd)}
.pir-app.pir-app .pir-count{font-size:12.5px;letter-spacing:.06em;color:var(--mu);white-space:nowrap}
.pir-app.pir-app .pir-bar{height:4px;border-radius:4px;background:rgba(167,136,95,.16);overflow:hidden;margin-bottom:28px}
.pir-app.pir-app .pir-bar span{display:block;height:100%;width:4%;background:linear-gradient(90deg,var(--g),var(--gl));border-radius:4px;transition:width .7s var(--ease)}
.pir-app.pir-app .pir-step{animation:pirIn .55s var(--ease) both}
@keyframes pirIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pir-app.pir-app .pir-title{font-family:var(--pi-sans,"Jost",sans-serif)!important;font-weight:400!important;font-size:clamp(22px,2.3vw,30px)!important;line-height:1.2!important;letter-spacing:-.015em;color:var(--ink)!important;margin:0 0 8px!important}
.pir-app.pir-app .pir-sub{font-size:15.5px;line-height:1.6;color:var(--tx);margin:0 0 22px}
.pir-app.pir-app .pir-label{font-size:12.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gd);margin:20px 0 10px}
/* Kacheln */
.pir-app.pir-app .pir-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pir-app.pir-app .pir-tiles--icons{grid-template-columns:repeat(4,minmax(0,1fr))}
.pir-app.pir-app .pir-tile{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:64px;padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.88);box-shadow:inset 0 0 0 1px rgba(167,136,95,.3),0 6px 18px -14px rgba(60,44,24,.35);transition:background .35s,box-shadow .35s,transform .45s var(--ease);font-family:inherit}
.pir-app.pir-app .pir-tile:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--g),0 14px 30px -20px rgba(60,44,24,.4)}
.pir-app.pir-app .pir-tile:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.pir-app.pir-app .pir-tile-t{font-size:16px;font-weight:500;color:var(--ink);line-height:1.3}
.pir-app.pir-app .pir-tile-s{font-size:13.5px;color:var(--tx);line-height:1.4}
.pir-app.pir-app .pir-tile.is-on{background:var(--gd);box-shadow:0 14px 30px -18px rgba(138,109,71,.8)}
.pir-app.pir-app .pir-tile.is-on .pir-tile-t,.pir-app.pir-app .pir-tile.is-on .pir-tile-s{color:#fff}
.pir-app.pir-app .pir-tile:hover .pir-tile-t,.pir-app.pir-app .pir-chip:hover{color:var(--ink)}
.pir-app.pir-app .pir-tile.is-on:hover .pir-tile-t,.pir-app.pir-app .pir-chip.is-on:hover{color:#fff}
.pir-app.pir-app .pir-tiles--icons .pir-tile{align-items:center;text-align:center;gap:12px;padding:24px 12px 20px;min-height:150px}
.pir-app.pir-app .pir-ico{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:rgba(167,136,95,.14);transition:background .3s}
.pir-app.pir-app .pir-tile.is-on .pir-ico{background:rgba(255,255,255,.18)}
.pir-app.pir-app .pir-ico svg{width:38px;height:38px;fill:none;stroke:var(--gd);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .3s}
.pir-app.pir-app .pir-tile.is-on .pir-ico svg{stroke:#fff}
/* Chips */
.pir-app.pir-app .pir-chips{display:flex;flex-wrap:wrap;gap:8px}
.pir-app.pir-app .pir-chip{all:unset;box-sizing:border-box;cursor:pointer;padding:11px 18px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:inset 0 0 0 1px rgba(167,136,95,.3);font-family:inherit;font-size:14.5px;font-weight:500;color:var(--ink);transition:background .3s,color .3s,box-shadow .3s}
.pir-app.pir-app .pir-chip:hover{box-shadow:inset 0 0 0 1px var(--g)}
.pir-app.pir-app .pir-chip:focus-visible{outline:2px solid var(--g);outline-offset:2px}
.pir-app.pir-app .pir-chip.is-on{background:var(--gd);color:#fff;box-shadow:none}
/* Felder */
.pir-app.pir-app .pir-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;align-items:end}
.pir-app.pir-app .pir-grid--addr{grid-template-columns:1fr 2fr}
.pir-app.pir-app .pir-field{display:flex;flex-direction:column;gap:7px;margin:0}
.pir-app.pir-app .pir-field--wide{grid-column:1/-1}
.pir-app.pir-app .pir-field > span:first-child{font-size:12.5px;font-weight:500;letter-spacing:.06em;color:var(--ink)}
.pir-app.pir-app .pir-inwrap{position:relative;display:block}
.pir-app.pir-app .pir-inwrap em{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-style:normal;font-size:14px;color:var(--mu);pointer-events:none}
.pir-app.pir-app .pir-input{width:100%;min-height:54px;padding:14px 18px!important;border:0!important;border-radius:16px!important;background:rgba(255,255,255,.85)!important;box-shadow:inset 0 0 0 1px rgba(167,136,95,.25);font-family:inherit;font-size:16px;color:var(--ink);outline:0;transition:box-shadow .3s,background .3s}
.pir-app.pir-app textarea.pir-input{min-height:96px;resize:vertical}
.pir-app.pir-app .pir-input:focus{background:#fff!important;box-shadow:inset 0 0 0 1.5px var(--g),0 0 0 4px rgba(167,136,95,.15)}
.pir-app.pir-app .pir-input:disabled{opacity:.5}
.pir-app.pir-app .pir-check{display:flex;gap:12px;align-items:flex-start;margin:18px 0 0;font-size:13.5px;line-height:1.55;color:var(--tx);cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400}
.pir-app.pir-app .pir-check--inline{margin:0;align-self:center;padding-bottom:14px}
.pir-app.pir-app .pir-check input{width:20px;height:20px;margin:1px 0 0;flex:none;accent-color:var(--g)}
.pir-app.pir-app .pir-check a{color:var(--gd);text-decoration:underline}
/* Navigation */
.pir-app.pir-app .pir-error{min-height:20px;margin:16px 0 0;font-size:14px;color:#b4442f}
.pir-app.pir-app .pir-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.pir-app.pir-app .pir-back{all:unset;cursor:pointer;font-family:inherit;font-size:14.5px;font-weight:500;color:var(--mu);padding:10px 4px;transition:color .3s}
.pir-app.pir-app .pir-back:hover{color:var(--ink)}
.pir-app.pir-app .pir-next,.pir-app.pir-app .pir-btn{all:unset;box-sizing:border-box;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;gap:14px;min-height:54px;padding:8px 8px 8px 26px;border-radius:999px;background:var(--g);color:#fff!important;font-family:inherit;font-size:15px;font-weight:500;letter-spacing:.03em;box-shadow:0 14px 34px -14px rgba(138,109,71,.75),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .9s var(--ease),box-shadow .9s var(--ease);text-decoration:none}
.pir-app.pir-app .pir-next::before,.pir-app.pir-app .pir-btn::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--n);transform:scale(0);transform-origin:center;transition:transform 1.2s cubic-bezier(.19,1,.22,1);z-index:-1}
.pir-app.pir-app .pir-next:hover::before,.pir-app.pir-app .pir-btn:hover::before{transform:scale(1.05)}
.pir-app.pir-app .pir-next:hover,.pir-app.pir-app .pir-btn:hover{transform:translateY(-2px)}
.pir-app.pir-app .pir-next:disabled{opacity:.6;cursor:default}
.pir-app.pir-app .pir-arr{width:38px;height:38px;border-radius:50%;flex:none;background:rgba(255,255,255,.18) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/15px no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.pir-app.pir-app .pir-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
/* Laden & Ergebnis */
.pir-app.pir-app .pir-loading{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;padding:40px 0}
.pir-app.pir-app .pir-spin{width:46px;height:46px;border-radius:50%;border:3px solid rgba(167,136,95,.2);border-top-color:var(--g);animation:pirSpin .9s linear infinite}
@keyframes pirSpin{to{transform:rotate(360deg)}}
.pir-app.pir-app .pir-result{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:30px;align-items:start;animation:pirIn .7s var(--ease) both}
.pir-app.pir-app .pir-result--plain{grid-template-columns:1fr}
.pir-app.pir-app .pir-window{display:flex;flex-direction:column;gap:6px;padding:28px 26px;border-radius:24px;background:linear-gradient(150deg,#0a3358,var(--n));color:#fff;box-shadow:0 30px 60px -30px rgba(6,41,71,.7)}
.pir-app.pir-app .pir-w-eyebrow{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gl)}
.pir-app.pir-app .pir-w-label{font-size:14px;color:rgba(255,255,255,.75);margin-top:6px}
.pir-app.pir-app .pir-w-value{font-size:clamp(34px,3.6vw,46px);font-weight:300;letter-spacing:-.02em;line-height:1.1;color:#fff}
.pir-app.pir-app .pir-w-value--sm{font-size:clamp(30px,3vw,40px)}
.pir-app.pir-app .pir-scale{margin:14px 0 4px}
.pir-app.pir-app .pir-scale span{position:relative;display:block;height:6px;border-radius:6px;background:linear-gradient(90deg,rgba(205,181,148,.25),var(--gl),rgba(205,181,148,.25))}
.pir-app.pir-app .pir-scale i{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(205,181,148,.35)}
.pir-app.pir-app .pir-scale-l{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.75)}
.pir-app.pir-app .pir-w-sqm{font-size:13.5px;color:rgba(255,255,255,.75);margin-top:4px}
.pir-app.pir-app .pir-notes{margin:0 0 14px;padding:0;list-style:none;display:grid;gap:8px}
.pir-app.pir-app .pir-notes li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.55;color:var(--tx)}
.pir-app.pir-app .pir-notes li::before{content:"";position:absolute;left:0;top:7px;width:10px;height:10px;border-radius:50%;background:var(--gl)}
.pir-app.pir-app .pir-disc{font-size:12.5px;line-height:1.55;color:var(--mu);margin:0 0 18px}
.pir-app.pir-app .pir-cta{display:flex;flex-wrap:wrap;gap:10px}
/* Eingebettet in vorhandene Glas-Karten der Seite */
.pi-funnel-wrap .pir-app.pir-app .pir-card,.pi-formcard .pir-app.pir-app .pir-card{background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;border-radius:0}
.pi-formcard .pir-app{max-width:none}
.pi-formcard .pir-app.pir-app .pir-grid,.pi-formcard .pir-app.pir-app .pir-grid--addr,.pi-formcard .pir-app.pir-app .pir-tiles,.pi-formcard .pir-app.pir-app .pir-result{grid-template-columns:1fr}
.pi-formcard .pir-app.pir-app .pir-head{flex-direction:column;align-items:flex-start;gap:4px}
@media (max-width:767px){
 .pir-app.pir-app .pir-card{padding:24px 18px 22px;border-radius:24px}
 .pir-app.pir-app .pir-head{flex-direction:column;align-items:flex-start;gap:4px}
 .pir-app.pir-app .pir-tiles,.pir-app.pir-app .pir-tiles--icons,.pir-app.pir-app .pir-grid,.pir-app.pir-app .pir-grid--addr,.pir-app.pir-app .pir-result{grid-template-columns:1fr}
 .pir-app.pir-app .pir-tiles--icons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .pir-app.pir-app .pir-tiles--icons .pir-tile{min-height:110px}
 .pir-app.pir-app .pir-check--inline{padding-bottom:0}
 .pir-app.pir-app .pir-next{padding-left:22px;min-height:50px}
}
@media (prefers-reduced-motion:reduce){.pir-app *{animation:none!important;transition:none!important}}