/* KDS Shop – nutzt die Design-Tokens des Themes, mit Rückfallwerten */
.kds-shop-main { padding: clamp(40px, 6vw, 80px) clamp(18px, 4vw, 32px); max-width: 1180px; margin: 0 auto; }
.kds-vat { display: inline-flex; margin: 0 0 18px; border: 1px solid var(--line, #dce3e8); border-radius: 999px; overflow: hidden; }
.kds-vat button { min-height: 40px; padding: 8px 16px; border: 0; background: #fff; color: var(--navy, #0a1a4f); font: 600 13px/1.2 var(--f-sans, sans-serif); cursor: pointer; }
.kds-vat button[aria-pressed="true"] { background: var(--navy, #0a1a4f); color: #fff; }
.kds-price { display: inline-flex; flex-direction: column; }
.kds-price__v { font: 600 clamp(1.3rem, 2vw, 1.6rem)/1.2 var(--f-display, serif); color: var(--navy, #0a1a4f); }
.kds-table .kds-price__v, .kds-cart .kds-price__v { font-size: 1rem; }
.kds-price__tax, .kds-small { font-size: 13px; color: var(--muted, #5e6b7a); line-height: 1.5; }
.kds-soon { font-weight: 700; color: var(--brand, #0033ff); }
.kds-products { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(20px, 3vw, 40px); }
.kds-product-card { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line, #dce3e8); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow, 0 8px 24px rgba(0,0,0,.08)); }
.kds-product-card__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.kds-product-card__body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: clamp(18px, 2.4vw, 26px); }
.kds-product-card__body h2 { font-size: clamp(1.2rem, 1.6vw, 1.4rem); margin: 0; }
.kds-product-card__body h2 a { color: var(--navy, #0a1a4f); text-decoration: none; }
.kds-product-card__body .kds-btn { margin-top: auto; align-self: flex-start; }
.kds-pdp { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(28px, 5vw, 64px); align-items: start; }
.kds-pdp__media img { width: 100%; border-radius: 16px; }
.kds-pdp__price { margin: 6px 0 4px; }
.kds-pdp__desc { max-width: 760px; margin-top: clamp(40px, 6vw, 72px); }
.kds-addcart { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin: 18px 0; }
.kds-qty { display: grid; gap: 4px; font-size: 13px; font-weight: 600; color: var(--navy, #0a1a4f); }
.kds-qty input, .kds-cart input[type="number"] { width: 84px; min-height: 48px; padding: 8px 12px; border: 1px solid var(--silver, #c8cdd2); border-radius: 12px; font: 400 16px/1.4 var(--f-sans, sans-serif); }
.kds-table { width: 100%; overflow-x: auto; }
.kds-table table { width: 100%; min-width: 560px; border-collapse: collapse; }
.kds-table th, .kds-table td { text-align: left; padding: 14px; border-bottom: 1px solid var(--line, #dce3e8); vertical-align: middle; }
.kds-table th { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--muted, #5e6b7a); }
.kds-cart__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-top: 18px; }
.kds-cart__sum { margin: 0; display: flex; gap: 10px; align-items: baseline; font-weight: 600; }
.kds-cart__next { display: flex; justify-content: flex-end; margin-top: 24px; }
.kds-checkout__grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: start; }
.kds-radio { border: 0; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.kds-radio legend { font-weight: 700; color: var(--navy, #0a1a4f); margin-bottom: 8px; }
.kds-radio label { display: inline-flex; gap: 8px; align-items: center; min-height: 40px; }
.kds-summary { background: var(--aqua-soft, #eaf6f8); border-radius: 16px; padding: clamp(20px, 2.6vw, 30px); position: sticky; top: 110px; }
.kds-summary ul { list-style: none; margin: 0 0 14px; padding: 0; }
.kds-summary li { display: flex; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid rgba(10,26,79,.1); }
.kds-summary li small { display: block; color: var(--muted, #5e6b7a); font-size: 12.5px; }
.kds-summary__total { font-size: 1.15rem; border-bottom: 0 !important; }
.kds-buy { width: 100%; margin: 14px 0 8px; min-height: 56px; }
[data-b2b][hidden] { display: none !important; }
.kds-wd summary { list-style: none; display: inline-flex; cursor: pointer; margin-bottom: 20px; }
.kds-wd summary::-webkit-details-marker { display: none; }
.kds-empty, .kds-thanks { text-align: center; padding: 20px 0; }
.kds-thanks .kds-eb { font-weight: 700; color: var(--brand, #0033ff); }
@media (max-width: 860px) {
	.kds-pdp, .kds-checkout__grid { grid-template-columns: 1fr; }
	.kds-summary { position: static; }
}
