/* Mütze drauf — component classes (consumed by components/*.jsx) */
.md-btn{font-family:var(--font-sans);font-weight:800;border:2px solid transparent;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);text-decoration:none;line-height:1}
.md-btn:active{transform:scale(.97)}
.md-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.md-btn[disabled]{opacity:.45;cursor:not-allowed;transform:none}
.md-btn--md{padding:12px 22px;font-size:var(--text-md)}
.md-btn--sm{padding:8px 16px;font-size:var(--text-sm)}
.md-btn--lg{padding:15px 28px;font-size:var(--text-lg)}
.md-btn--primary{background:var(--brand);color:var(--text-on-brand)}
.md-btn--primary:hover:not([disabled]){background:var(--brand-strong);transform:translateY(-1px)}
.md-btn--secondary{background:transparent;color:var(--ink);border-color:var(--ink)}
.md-btn--secondary:hover:not([disabled]){background:var(--ink);color:var(--white)}
.md-btn--ghost{background:transparent;color:var(--brand)}
.md-btn--ghost:hover:not([disabled]){background:var(--brand-soft)}
.md-field{display:flex;flex-direction:column;gap:6px;font-family:var(--font-sans)}
.md-field>label{font-size:var(--text-sm);font-weight:700;color:var(--ink)}
.md-input,.md-select{font:inherit;font-size:var(--text-md);color:var(--ink);background:var(--white);border:2px solid var(--border-strong);border-radius:var(--radius-md);padding:11px 14px;transition:border-color var(--dur-fast) var(--ease-out)}
.md-input::placeholder{color:var(--ink-muted);opacity:.7}
.md-input:hover,.md-select:hover{border-color:var(--green-300)}
.md-input:focus,.md-select:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring)}
.md-field--error .md-input{border-color:var(--danger)}
.md-field__hint{font-size:var(--text-xs);color:var(--ink-muted)}
.md-field--error .md-field__hint{color:var(--danger)}
.md-check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--text-md);color:var(--ink)}
.md-check input{position:absolute;opacity:0;width:0}
.md-check__box{width:22px;height:22px;border:2px solid var(--border-strong);border-radius:7px;background:var(--white);display:inline-flex;align-items:center;justify-content:center;transition:all var(--dur-fast) var(--ease-out);flex:none}
.md-check__box--radio{border-radius:50%}
.md-check input:checked+.md-check__box{background:var(--brand);border-color:var(--brand)}
.md-check input:focus-visible+.md-check__box{box-shadow:var(--focus-ring)}
.md-check svg,.md-check__dot{opacity:0;transform:scale(.5);transition:all var(--dur-fast) var(--ease-bounce)}
.md-check input:checked+.md-check__box svg,.md-check input:checked+.md-check__box .md-check__dot{opacity:1;transform:scale(1)}
.md-check__dot{width:8px;height:8px;border-radius:50%;background:var(--white)}
.md-switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--text-md)}
.md-switch input{position:absolute;opacity:0;width:0}
.md-switch__track{width:46px;height:26px;border-radius:var(--radius-pill);background:var(--border-strong);transition:background var(--dur-fast) var(--ease-out);flex:none}
.md-switch__thumb{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px rgba(27,42,58,.3);transition:transform var(--dur-med) var(--ease-bounce)}
.md-switch input:checked~.md-switch__track{background:var(--brand)}
.md-switch input:checked~.md-switch__thumb{transform:translateX(20px)}
.md-switch input:focus-visible~.md-switch__track{box-shadow:var(--focus-ring)}
.md-season{display:inline-flex;background:var(--white);border:2px solid var(--border-soft);border-radius:var(--radius-pill);padding:4px;gap:4px}
.md-season button{font:inherit;font-weight:800;font-size:var(--text-sm);border:none;background:transparent;color:var(--ink-muted);border-radius:var(--radius-pill);padding:8px 18px;cursor:pointer;display:inline-flex;align-items:center;gap:7px;transition:all var(--dur-med) var(--ease-out)}
.md-season button[aria-pressed=true][data-season=winter]{background:var(--winter-100);color:var(--winter-600)}
.md-season button[aria-pressed=true][data-season=sommer]{background:var(--summer-100);color:var(--summer-600)}
.md-card{background:var(--surface-card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-5)}
.md-card--tint{background:var(--surface-tint);box-shadow:none}
.md-card--pop{box-shadow:var(--shadow-pop);border-radius:var(--radius-lg)}
.md-badge{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill);padding:5px 12px}
.md-badge--brand{background:var(--brand-soft);color:var(--green-700)}
.md-badge--winter{background:var(--winter-100);color:var(--winter-600)}
.md-badge--sommer{background:var(--summer-100);color:var(--summer-600)}
.md-badge--navy{background:var(--navy-800);color:var(--white)}
.md-tag{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm);font-weight:700;color:var(--ink);background:var(--white);border:2px solid var(--border-soft);border-radius:var(--radius-pill);padding:6px 14px}
.md-tag button{border:none;background:none;cursor:pointer;color:var(--ink-muted);font-size:14px;padding:0;line-height:1}
.md-tag button:hover{color:var(--danger)}
.md-dialog-overlay{position:fixed;inset:0;background:rgba(27,42,58,.45);display:flex;align-items:center;justify-content:center;z-index:50}
.md-dialog{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-6);max-width:440px;width:calc(100% - 48px);animation:md-pop var(--dur-med) var(--ease-bounce)}
@keyframes md-pop{from{transform:scale(.9);opacity:0}}
.md-toast{display:flex;align-items:center;gap:12px;background:var(--navy-800);color:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-pop);padding:14px 18px;font-size:var(--text-sm);font-weight:600;animation:md-pop var(--dur-med) var(--ease-bounce)}
.md-toast--success{background:var(--green-600)}
.md-toast--warning{background:var(--summer-600)}
.md-toast--danger{background:var(--red-600)}