/* components: product cards, product page, cart, forms, legal, danke */
/* css swatch card */
.vd-stoff{--farbe:#6b6f73;aspect-ratio:4/5;background:var(--farbe);border:1px solid var(--vd-rahmen);overflow:hidden;position:relative}
.vd-stoff-flaeche{background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.08) 1px,transparent 1px,transparent 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.06) 0,rgba(0,0,0,.06) 1px,transparent 1px,transparent 4px),linear-gradient(120deg,rgba(255,255,255,.14),transparent 60%);inset:0;position:absolute}
.vd-schnitt{height:78%;left:50%;position:absolute;top:46%;transform:translate(-50%,-50%);width:58%}
.vd-schnitt path{stroke-width:1.6;vector-effect:non-scaling-stroke}
.vd-stoff-marke{background:rgba(19,21,24,.72);bottom:0;color:var(--vd-text);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.8rem;left:0;letter-spacing:.04em;padding:7px 12px;position:absolute}
.vd-stoff[data-gross]{margin:0;max-width:460px}
/* product page */
[data-prod-wrap]{margin:0 auto;max-width:1120px;padding:36px 24px 60px}
[data-krume]{color:var(--vd-text2);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.9rem;margin-bottom:26px}
[data-krume] a{color:var(--vd-text2)}
[data-prodgrid]{display:grid;gap:44px;grid-template-columns:minmax(0,420px) minmax(0,1fr)}
[data-preis-z]{font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:1.5rem;margin:6px 0 14px}
[data-preis-z] [itemprop="price"]{color:var(--vd-safran);font-weight:600}
[data-mwst]{color:var(--vd-text2);display:block;font-family:"Lora","Lora Fallback",Georgia,serif;font-size:.92rem;margin-top:4px}
[data-mwst] a,[data-farbe]{color:var(--vd-text2)}
[data-farbe]{font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;margin:0 0 18px}
[data-kaufform]{border-top:1px solid var(--vd-rahmen);padding-top:20px}
[data-groessen]{border:0;margin:0 0 18px;padding:0}
[data-groessen] legend{font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-weight:500;margin-bottom:10px;padding:0}
[data-groereihe]{display:flex;flex-wrap:wrap;gap:10px}
[data-groesse]{align-items:center;border:1px solid var(--vd-rahmen);cursor:pointer;display:inline-flex;gap:8px;min-height:44px;padding:8px 14px}
[data-groesse]:hover{border-color:var(--vd-matt)}
[data-groesse] input{accent-color:var(--vd-safran)}
[data-groesse] input:disabled{cursor:not-allowed}
[data-groesse][data-out]{border-style:dashed;color:var(--vd-text2)}
[data-weg-l]{color:var(--vd-text2);font-size:.82rem}
[data-kaufsteuer]{align-items:flex-end;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px}
[data-menge]{display:flex;flex-direction:column;font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.92rem;gap:6px}
[data-menge] input{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);color:var(--vd-text);font-size:1rem;min-height:44px;padding:8px 10px;width:84px}
[data-add]{display:none}
.dyn [data-add]{display:inline-flex}
[data-kaufnojs]{color:var(--vd-text2);font-size:.9rem}
.dyn [data-kaufnojs]{display:none}
[data-kaufhinweis]{color:var(--vd-matt);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;margin:0 0 4px;min-height:1.2em}
[data-prodfakt]{border-top:1px solid var(--vd-rahmen);display:grid;gap:12px;list-style:none;margin:18px 0 0;padding:18px 0 0}
[data-prodfakt] li{display:grid;gap:2px}
[data-prodfakt] span{color:var(--vd-text2);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
[data-prodtext]{border-top:1px solid var(--vd-rahmen);display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-top:40px;padding-top:34px}
[data-prodtext] p{color:var(--vd-text2);max-width:58ch}
[data-prodliefer]{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);padding:22px}
[data-prodliefer] a{color:var(--vd-text)}
/* cart (rows rendered by js, styled via data-attributes) */
.vd-korb-body{margin-top:18px}
.vd-korb-laedt{color:var(--vd-text2)}
[data-row]{align-items:center;border:1px solid var(--vd-rahmen);display:grid;gap:18px;grid-template-columns:70px minmax(0,1fr) auto auto;margin-bottom:12px;padding:14px 16px}
[data-mini]{aspect-ratio:1/1;display:block;width:70px}
[data-tt]{font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-weight:500;margin:0}
[data-ts]{color:var(--vd-text2);font-size:.9rem;margin:0}
[data-steuer]{align-items:center;display:flex;gap:6px}
[data-steuer] button{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);color:var(--vd-text);cursor:pointer;font-size:1rem;height:38px;width:38px}
[data-anz]{min-width:2ch;text-align:center}
[data-preis]{color:var(--vd-safran);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-weight:600;margin:0;white-space:nowrap}
[data-weg]{background:none;border:0;color:var(--vd-text2);cursor:pointer;font-size:.86rem;text-decoration:underline}
.vd-korb-leer{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);display:grid;gap:16px;justify-items:start;padding:30px}
.vd-korb-leer[hidden]{display:none}
/* summary rows (js) */
[data-srow]{display:flex;gap:16px;justify-content:space-between;margin-bottom:8px}
[data-srow] span:last-child{font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif}
[data-srow][data-total]{border-top:1px solid var(--vd-rahmen);font-size:1.15rem;font-weight:600;margin-top:10px;padding-top:12px}
[data-srow][data-total] span:last-child{color:var(--vd-safran)}
/* checkout */
.vd-kasse-grid{display:grid;gap:40px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.vd-feld-gruppe-kopf{color:var(--vd-matt);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.82rem;letter-spacing:.14em;margin:0 0 14px;text-transform:uppercase}
.vd-feld{display:grid;gap:6px;margin-bottom:12px}
.vd-feld label{font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.95rem}
.vd-feld-reihe{display:grid;gap:16px;grid-template-columns:120px 1fr}
.vd-input{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);color:var(--vd-text);font-family:"Lora","Lora Fallback",Georgia,serif;font-size:1rem;min-height:44px;padding:10px 12px;width:100%}
textarea.vd-input{min-height:72px;resize:vertical}
.vd-input:focus{border-color:var(--vd-matt)}
.vd-pflicht{color:var(--vd-matt)}
.vd-fehler{color:#f0a36a;font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.86rem;min-height:1em}
.vd-kasse-land{background:var(--vd-flaeche);border-left:3px solid var(--vd-matt);color:var(--vd-text2);font-size:.92rem;margin:4px 0 18px;padding:12px 16px}
.vd-zahlart{margin-bottom:18px}
.vd-radio-fest{align-items:flex-start;border:1px solid var(--vd-rahmen);display:flex;gap:10px;padding:14px 16px}
.vd-radio-fest input{accent-color:var(--vd-safran);margin-top:3px}
.vd-check{align-items:flex-start;display:flex;gap:10px;margin:4px 0 10px}
.vd-check input{accent-color:var(--vd-safran);margin-top:4px;min-height:20px;min-width:20px}
.vd-check a,.vd-datenschutz-hin a{color:var(--vd-text)}
.vd-datenschutz-hin{color:var(--vd-text2);font-size:.9rem}
.vd-kasse-abschluss{border-top:1px solid var(--vd-rahmen);display:grid;gap:14px;margin-top:8px;padding-top:18px}
.vd-kasse-status,.vd-kontakt-status{color:var(--vd-matt);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;min-height:1.2em}
.vd-summe-karte{align-self:start;background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);box-shadow:10px 10px 0 var(--vd-schatten);padding:24px;position:sticky;top:110px}
.vd-summe-karte h3{margin-top:0}
.vd-summe-fuss{color:var(--vd-text2);font-size:.85rem;margin:14px 0 0}
.vd-summe-mini [data-srow]{font-size:.95rem}
/* danke / 404 / kontakt thanks */
.vd-danke-in{max-width:760px}
.vd-danke-nr{color:var(--vd-safran);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:1.3rem;font-weight:600}
.vd-danke-box{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);margin:18px 0;padding:22px}
.vd-danke-box [data-srow]{margin-bottom:6px}
.vd-danke-weiter{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);border-top:3px solid var(--vd-matt);margin-top:26px;padding:26px}
.vd-danke-weiter a{color:var(--vd-text)}
.vd-404-liste{display:grid;gap:8px;list-style:none;margin:10px 0 0;padding:0}
.vd-404-liste a{color:var(--vd-text)}
/* kontakt */
.vd-kontakt-grid{display:grid;gap:40px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.vd-kontakt h2{font-size:1.4rem;margin-bottom:10px}
.vd-kontakt-daten{align-self:start;background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);box-shadow:10px 10px 0 var(--vd-schatten);padding:22px}
.vd-dl dt{color:var(--vd-matt);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase}
.vd-dl dd{margin:2px 0 8px}
.vd-dl dd a{align-items:center;color:var(--vd-text);display:inline-flex;min-height:44px}
.vd-kontakt-hin{color:var(--vd-text2);font-size:.92rem}
.vd-ablauf{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);margin-top:24px}
.vd-ablauf-karte{background:var(--vd-grund);border:1px solid var(--vd-rahmen);border-top:3px solid var(--vd-matt);padding:22px}
.vd-ablauf-karte h3{font-size:1.1rem;margin-bottom:8px}
.vd-ablauf-karte p{color:var(--vd-text2);margin:0}
.vd-ablauf-karte a{color:var(--vd-text)}
@media(max-width:860px){.vd-ablauf{grid-template-columns:1fr}}
/* legal */
.vd-recht{padding-top:40px}
.vd-recht-fort{padding-top:0}
.vd-recht-breit{max-width:820px}
/* consistent inner-page heads (pagehead-spread) */
.vd-kopf-sek h1,.vd-recht h1,.vd-danke h1{font-size:clamp(1.8rem,4vw,2.3rem)}
.vd-danke{padding-top:40px}
.vd-toc{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);margin-bottom:28px;padding:20px 24px}
.vd-toc-kopf{color:var(--vd-matt);font-family:"Kumbh Sans","Kumbh Sans Fallback",Arial,sans-serif;font-size:.8rem;letter-spacing:.14em;margin:0 0 10px;text-transform:uppercase}
.vd-toc ol{color:var(--vd-text2);margin:0;padding-left:20px}
.vd-toc a{color:var(--vd-text)}
.vd-recht-karte{background:var(--vd-flaeche);border:1px solid var(--vd-rahmen);margin-bottom:18px;padding:24px 26px}
.vd-recht-karte h2{font-size:1.25rem}
.vd-recht-karte a{color:var(--vd-text)}
.vd-muster{background:var(--vd-grund);border:1px dashed var(--vd-rahmen);margin-top:14px;overflow-wrap:anywhere;padding:20px 22px;word-break:break-word}
.vd-muster p{overflow-wrap:anywhere}
.vd-muster-liste{color:var(--vd-text2);list-style:none;margin:10px 0;padding:0}
.vd-muster-liste li{margin-bottom:10px}
.vd-stand{color:var(--vd-text2);font-size:.86rem;margin-top:14px}
@media(max-width:860px){
	[data-prodgrid]{grid-template-columns:1fr}
	[data-prodtext]{grid-template-columns:1fr}
	.vd-kasse-grid{grid-template-columns:1fr}
	.vd-kontakt-grid{gap:20px;grid-template-columns:1fr}
	.vd-summe-karte{position:static}
	[data-row]{grid-template-columns:60px minmax(0,1fr);row-gap:10px}
	[data-mini]{width:60px}
}
@media(max-width:560px){
	.vd-kopf-sek{padding:18px 0 12px}
	.vd-kopf-sek h1{font-size:1.65rem}
	.vd-kontakt{padding-top:8px}
	.vd-kontakt h2{font-size:1.2rem;margin-bottom:8px}
	.vd-kontakt-daten{padding:14px}
	.vd-kontakt-grid{gap:12px}
	.vd-feld{margin-bottom:10px}
	.vd-dl dd{margin:2px 0 4px}
}
