.spz{font-family:var(--font-body);color:var(--text);font-size:18px;line-height:1.6}
.spz-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--target-min);padding:0 22px;border-radius:var(--radius-sm);border:2px solid transparent;font:inherit;font-weight:600;cursor:pointer}
.spz-btn-accent{background:var(--accent);color:#fff}
.spz-btn-accent:hover{background:var(--accent-hover)}
.spz-btn-primary{background:var(--primary);color:#fff}
.spz-btn-primary:hover{background:var(--primary-hover)}
.spz-btn-line{background:var(--card);color:var(--primary);border-color:var(--primary)}
.spz-btn-lg{min-height:var(--target-lg);font-size:20px;padding:0 28px}
.spz-btn:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.spz-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;width:320px;box-shadow:var(--shadow-card)}
.spz-ph{aspect-ratio:3/2;background:linear-gradient(180deg,#c9e1ec 0%,#9cc7d8 50%,#3f7d92 51%,#2c5c6e 100%);position:relative}
.spz-ph span{position:absolute;left:8px;bottom:8px;background:rgba(0,0,0,.55);color:#fff;font-size:13px;padding:2px 8px;border-radius:4px}
.spz-body{padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.spz-ziel{font-size:15px;color:var(--muted);font-weight:600}
.spz-title{font-family:var(--font-display);font-size:24px;font-weight:600;line-height:1.2;color:var(--ink);margin:0}
.spz-foot{display:flex;justify-content:space-between;align-items:flex-end;border-top:1px solid var(--divider);padding-top:14px;margin-top:6px}
.spz-price{display:flex;flex-direction:column;line-height:1.25}
.spz-price .d{font-weight:700;color:var(--primary)}
.spz-price .p{font-size:16px;color:var(--muted);white-space:nowrap}
.spz-price .v{font-family:var(--font-display);font-size:30px;font-weight:700;color:var(--ink)}
.spz-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.spz-field label{font-weight:600;font-size:17px;color:var(--ink)}
.spz-field select,.spz-field input,.spz-field .spz-ms{min-height:56px;border:2px solid var(--border-input);border-radius:var(--radius-sm);padding:0 14px;font:inherit;background:var(--card);color:var(--text);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spz-field .spz-ms.has{background:var(--selected);border-color:var(--primary);color:var(--ink);font-weight:600}
