/**
 * Anfrage-Studio (Kontaktseite): Wege-Wahl, Kollektions-Konfigurator,
 * Auswahl-Liste, Anfrage-/Bestellmodus, Rechnungsdaten.
 * Designsprache wie Buch/Register: Punktlinien-Ruhe, klare Borders,
 * Display-Font für Namen — keine Shop-Optik.
 */

.astu{margin:0 0 2.2rem;border-bottom:1px solid var(--border);padding-bottom:2rem}
.astu__intro{font-size:.92rem;color:var(--text-light);margin-bottom:1.1rem}
.astu__hint{font-weight:400;font-size:.78rem;color:var(--text-light);text-transform:none;letter-spacing:0}

/* Wege-Wahl */
.astu__wege{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:.7rem}
.astu__weg{display:flex;flex-direction:column;gap:.35rem;text-align:left;background:var(--white);border:1px solid var(--border);padding:1rem 1.1rem;cursor:pointer;transition:border-color .2s,background .2s;font:inherit}
.astu__weg:hover{border-color:var(--primary)}
.astu__weg.ist-aktiv{border-color:var(--primary);background:var(--bg-grey);box-shadow:inset 0 0 0 1px var(--primary)}
.astu__weg strong{font-family:var(--font-display);font-size:.98rem;color:var(--primary)}
.astu__weg span{font-size:.8rem;color:var(--text-light);line-height:1.45}

/* Panels */
.astu__panel{margin:1.4rem 0 0;border:1px solid var(--border);background:var(--white);padding:1.4rem 1.4rem 1.6rem;min-width:0}
.astu__panel-kopf h3{font-family:var(--font-display);font-size:1.15rem;margin:0 0 .4rem}
.astu__panel-kopf p{font-size:.88rem;color:var(--text-light);margin:0 0 1.1rem;max-width:62ch}
.astu__panel-kopf a{border-bottom:1px solid currentColor}
.astu__felder{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:.9rem 1.1rem}
.astu__felder .form-group{margin:0}
.astu__plzort{display:grid;grid-template-columns:110px 1fr;gap:.7rem}

/* Lager-Checks */
.astu__checks{display:flex;flex-wrap:wrap;gap:.5rem}
.astu__check{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border);padding:.5rem .85rem;font-size:.85rem;cursor:pointer;background:var(--white);transition:border-color .2s,background .2s}
.astu__check:has(input:checked){border-color:var(--primary);background:var(--bg-grey);box-shadow:inset 0 0 0 1px var(--primary)}
.astu__check input{accent-color:var(--primary)}

/* Katalog: Damen/Herren als zugeklappte Gruppen */
.astu__gruppe-knopf{display:flex;align-items:center;gap:.7rem;width:100%;font:inherit;text-align:left;background:var(--bg-grey);border:1px solid var(--border);padding:.8rem 1rem;cursor:pointer;margin-top:.7rem;transition:border-color .2s,background .2s}
.astu__gruppe-knopf:first-child{margin-top:0}
.astu__gruppe-knopf:hover{border-color:var(--primary)}
.astu__gruppe-knopf.ist-offen{border-color:var(--primary);background:var(--white)}
.astu__gruppe-knopf strong{font-family:var(--font-display);font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--primary)}
.astu__gruppe-zahl{font-size:.78rem;color:var(--text-light)}
.astu__gruppe-pfeil{margin-left:auto;color:var(--primary);transition:transform .2s;line-height:1}
.astu__gruppe-knopf.ist-offen .astu__gruppe-pfeil{transform:rotate(180deg)}
.astu__gruppe-liste{border:1px solid var(--border);border-top:0;padding:.2rem .8rem .4rem;background:var(--white)}
.astu__artikel{border-bottom:1px solid var(--border)}
.astu__artikel-kopf{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.8rem;width:100%;background:none;border:0;padding:.55rem .25rem;cursor:pointer;font:inherit;text-align:left;transition:background .2s}
.astu__artikel-kopf:hover{background:var(--white)}
.astu__thumb{width:40px;height:52px;overflow:hidden;position:relative;background:var(--bg-grey);border:1px solid var(--border);display:block;flex-shrink:0}
.astu__thumb img{width:100%;height:100%;object-fit:cover;object-position:50% 16%;transform:scale(1.9);transform-origin:50% 20%;display:block}
.astu__thumb--unten img{object-position:50% 70%;transform:scale(1.7);transform-origin:50% 72%}
.astu__artikel-name{font-size:.9rem;min-width:0}
.astu__artikel-name strong{font-family:var(--font-display);font-weight:600;color:var(--primary)}
.astu__artikel-name em{font-style:normal;font-size:.8rem;color:var(--text-light)}
.astu__artikel-preis{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--primary);font-variant-numeric:tabular-nums;white-space:nowrap}
.astu__artikel-plus{width:26px;height:26px;border:1px solid var(--primary);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;color:var(--primary);transition:transform .2s,background .2s,color .2s}
.astu__artikel.ist-offen .astu__artikel-plus{transform:rotate(45deg);background:var(--primary);color:#fff}

/* Konfigurator */
.astu__konfig{padding:.9rem .25rem 1.1rem;background:var(--white)}
.astu__konfig--inline{width:100%;border-top:1px dashed var(--border);margin-top:.6rem}
.astu__konfig-reihe{display:flex;flex-wrap:wrap;gap:.8rem 1rem}
.astu__konfig-feld{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-light)}
.astu__konfig-feld select,.astu__konfig-feld input{font:inherit;font-size:.9rem;letter-spacing:0;text-transform:none;color:var(--text);padding:.5rem .6rem;border:1px solid var(--border);background:var(--white);min-width:150px}
.astu__konfig-feld--menge input{min-width:80px;width:80px}
.astu__konfig-fuss{display:flex;align-items:center;gap:1rem;margin-top:.9rem;flex-wrap:wrap}
.astu__konfig-hinweis{font-size:.8rem;color:var(--text-light);max-width:34ch}
.astu__konfig-add{padding:.55rem 1.1rem;font-size:.8rem}

/* Auswahl */
.astu__auswahl{margin-top:1.4rem;border-top:2px solid var(--primary);padding-top:1rem}
.astu__auswahl h4{font-family:var(--font-display);font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 .5rem}
.astu__pos{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .8rem;border-bottom:1px dashed var(--border);padding:.55rem 0;font-size:.9rem}
/* Offene Positionen sind bei Anfragen völlig okay — erst im Bestellmodus
   werden sie als Handlungsbedarf markiert. */
.astu--bestellung .astu__pos--offen{background:#faf6ec}
.astu__pos-menge{font-variant-numeric:tabular-nums;color:var(--text-light);min-width:2.2em}
.astu__pos-text{flex:1;min-width:180px}
.astu__pos-text strong{font-family:var(--font-display);font-weight:600}
.astu__pos-text em{font-style:normal;font-size:.8rem;color:var(--text-light)}
.astu__pos-details{display:block;font-size:.8rem;color:var(--text-light)}
.astu--bestellung .astu__pos--offen .astu__pos-details{color:#8a6d1f}
.astu__pos-preis{font-family:var(--font-display);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.astu__pos-aktionen{display:flex;gap:.6rem}
.astu__pos-btn{background:none;border:0;padding:0;font:inherit;font-size:.78rem;color:var(--text-light);cursor:pointer;border-bottom:1px solid currentColor;transition:color .2s}
.astu__pos-btn:hover{color:var(--primary)}
.astu__summe{margin:.8rem 0 0;font-size:.92rem;text-align:right}

/* Modus */
.astu__modus{margin-top:1.3rem;border-top:1px solid var(--border);padding-top:1.1rem}
.astu__modus-label{display:block;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-light);margin-bottom:.6rem}
.astu__modus-pills{display:inline-flex;border:1px solid var(--primary)}
.astu__pill{font:inherit;font-size:.85rem;padding:.6rem 1.1rem;background:var(--white);color:var(--primary);border:0;cursor:pointer;transition:background .2s,color .2s}
.astu__pill.ist-aktiv{background:var(--primary);color:#fff}
.astu__modus-hinweis{font-size:.82rem;color:var(--text-light);margin:.6rem 0 0;max-width:60ch}

/* Rechnungsdaten */
.astu__rechnung{margin:1.6rem 0 0;border:1px solid var(--primary);padding:1.4rem 1.4rem 1.5rem}
.astu__rechnung legend{font-family:var(--font-display);font-weight:600;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;padding:0 .5rem}
.astu__bestellinfo{margin-top:1.1rem;background:var(--bg-grey);border-left:2px solid var(--primary);padding:.9rem 1rem;font-size:.88rem;line-height:1.55}
.astu__bestellinfo:empty{display:none}
.astu__rechtlich{font-size:.78rem;color:var(--text-light);line-height:1.55;margin:.9rem 0 0}
.astu__rechtlich a{border-bottom:1px solid currentColor}
.astu__geraet{font-size:.82rem;color:var(--text-light);line-height:1.55;margin:0 0 1.1rem;padding:.7rem .9rem;background:var(--bg-grey);border-left:2px solid var(--border)}
.astu__geraet-loeschen{background:none;border:none;padding:0;font:inherit;font-size:.8rem;color:var(--text-light);text-decoration:underline;cursor:pointer;white-space:nowrap}
.astu__geraet-loeschen:hover{color:var(--primary)}

@media (max-width:640px){
  .astu__artikel-kopf{grid-template-columns:auto minmax(0,1fr) auto}
  .astu__artikel-plus{display:none}
  .astu__konfig-feld select{min-width:130px}
}
