/* Shop: Karten, Produktfenster, Warenkorb */
.cart-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid #C8C8C8;background:#fff;color:#111;font:600 15px Inter,sans-serif;cursor:pointer}
.cart-btn:hover{border-color:#111}
.cart-btn .n{min-width:22px;height:22px;border-radius:999px;background:#C1272D;color:#fff;font-size:12px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.card .img{background:#fff;height:240px;padding:16px}
.card .img img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.card .badge.neu{background:#C1272D;color:#fff}
.card .price{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:24px;margin-top:8px}
.card .price small{font-family:Inter,sans-serif;font-weight:500;font-size:13px;color:#5A6170}
.card button.btn{width:100%}
.skeleton{background:#fff;border:1px solid #E0E0E0;border-radius:18px;height:380px;opacity:.6}
.shop-msg{grid-column:1/-1;background:#fff;border:1px solid #E0E0E0;border-radius:18px;padding:32px;text-align:center;color:#3D4350}
dialog.sheet{border:0;padding:0;border-radius:22px;width:min(960px,calc(100% - 32px));max-height:calc(100% - 32px);color:#111;font-family:Inter,sans-serif}
dialog.sheet::backdrop{background:rgba(17,17,17,.55)}
.sheet-close{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:999px;border:0;background:#F2F2F2;cursor:pointer;font-size:22px;line-height:1;z-index:2}
.pd{display:flex;flex-wrap:wrap;gap:32px;padding:32px}
.pd-media{flex:1 1 320px;min-width:0;display:flex;flex-direction:column;gap:12px}
.pd-main{background:#fff;border:1px solid #E0E0E0;border-radius:16px;height:360px;display:flex;align-items:center;justify-content:center;padding:16px}
.pd-main img{max-width:100%;max-height:100%;object-fit:contain}
.pd-thumbs{display:flex;gap:8px;flex-wrap:wrap}
.pd-thumbs button{width:64px;height:64px;border-radius:10px;border:1px solid #E0E0E0;background:#fff;padding:4px;cursor:pointer}
.pd-thumbs button[aria-current=true]{border-color:#111;border-width:2px}
.pd-thumbs img{width:100%;height:100%;object-fit:contain}
.pd-info{flex:1 1 340px;min-width:0;display:flex;flex-direction:column;gap:16px}
.pd-info h3{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:34px;line-height:1.05}
.pd-price{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:32px;color:#C1272D}
.pd-desc{margin:0;color:#3D4350}
.opt{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.opt legend{font-size:14px;font-weight:600;margin-bottom:8px}
.opt legend span{font-weight:400;color:#5A6170}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills button{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid #C8C8C8;background:#fff;color:#111;font:600 14px Inter,sans-serif;cursor:pointer}
.pills button[aria-pressed=true]{background:#111;color:#fff;border-color:#111}
.pills button.na{color:#9AA0AA;text-decoration:line-through;border-style:dashed}
.pd-note{font-size:13px;color:#5A6170;margin:0}
.pd-err{color:#B3261E;font-size:14px;min-height:0;margin:0}
.pd-info .btn{width:100%}
.pd-info .btn:disabled{opacity:.5;cursor:not-allowed}
dialog.drawer{margin:0 0 0 auto;height:100%;max-height:100%;width:min(440px,100%);border-radius:0;border:0;padding:0;font-family:Inter,sans-serif;color:#111}
dialog.drawer::backdrop{background:rgba(17,17,17,.55)}
.cart{display:flex;flex-direction:column;height:100%}
.cart-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #E0E0E0}
.cart-head h3{margin:0;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:28px}
.cart-head .sheet-close{position:static}
.cart-lines{flex:1;overflow:auto;padding:8px 24px}
.line{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid #EEE}
.line img{width:72px;height:72px;object-fit:contain;border:1px solid #E0E0E0;border-radius:10px;background:#fff;flex:0 0 72px}
.line-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.line-name{font-weight:600}
.line-desc{font-size:13px;color:#5A6170}
.line-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.qty{display:inline-flex;align-items:center;border:1px solid #C8C8C8;border-radius:10px}
.qty button{width:40px;height:40px;border:0;background:none;font-size:18px;cursor:pointer}
.qty span{min-width:28px;text-align:center;font-weight:600}
.line-price{font-weight:700}
.link-btn{border:0;background:none;color:#5A6170;text-decoration:underline;font:13px Inter,sans-serif;cursor:pointer;padding:4px 0;align-self:flex-start}
.cart-foot{border-top:1px solid #E0E0E0;padding:20px 24px;display:flex;flex-direction:column;gap:10px}
.cart-sum{display:flex;justify-content:space-between;font-size:18px;font-weight:700}
.cart-foot .btn{width:100%}
.cart-empty{padding:40px 0;text-align:center;color:#5A6170}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#111;color:#fff;padding:12px 18px;border-radius:12px;font:600 14px Inter,sans-serif;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.2)}
@media (max-width:600px){.pd{padding:56px 20px 24px}.pd-main{height:260px}}
/* Bewertungen */
.reviews{background:#fff;border-top:1px solid #E0E0E0;border-bottom:1px solid #E0E0E0}
.reviews .wrap{padding-top:80px;padding-bottom:80px;display:flex;flex-direction:column;gap:36px}
.rev-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px}
.rev-stats{display:flex;flex-wrap:wrap;gap:28px}
.rev-stats div{display:flex;flex-direction:column;max-width:190px}
.rev-stats strong{font-size:36px;line-height:1;color:#C1272D}
.rev-stats span{font-size:13px;color:#5A6170;margin-top:6px}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.rev{margin:0;background:#F2F2F2;border-radius:18px;padding:24px;display:flex;flex-direction:column;gap:14px}
.rev .stars{color:#C1272D;font-size:18px;letter-spacing:2px}
.rev blockquote{margin:0;font-size:15px;line-height:1.6;color:#111;flex-grow:1}
.rev figcaption{font-size:14px;color:#3D4350}
.rev figcaption span{display:block;font-size:12px;color:#5A6170;margin-top:2px}

/* Bewertungs-Karten auf hellem Grund */
.rev{background:#fff;border:1px solid #E4E4E7}
.rev-head{margin-bottom:32px}
