/* Warenkorb-Drawer */
.ewc { position: fixed; inset: 0; z-index: 90; pointer-events: none; }
.ewc__veil { position: absolute; inset: 0; background: rgba(15, 18, 17, .45); opacity: 0; transition: opacity .25s ease; }
.ewc__panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(440px, 100%); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .3s ease; font-family: var(--sans); color: var(--ink); }
.ewc.is-open { pointer-events: auto; }
.ewc.is-open .ewc__veil { opacity: 1; }
.ewc.is-open .ewc__panel { transform: none; }
.ewc__head { display: flex; justify-content: space-between; align-items: center; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.ewc__head h2 { font-size: 20px; font-weight: 600; margin: 0; letter-spacing: -.01em; }
.ewc__head button { font-size: 16px; width: 36px; height: 36px; }
.ewc__body { flex: 1; overflow-y: auto; padding: 8px 24px; }
.ewc__empty { color: var(--ink-2); padding: 32px 0; }
.ewc__line { display: grid; grid-template-columns: 72px 1fr auto; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--line); align-items: start; }
.ewc__line img, .ewc__noimg { width: 72px !important; height: 72px !important; object-fit: cover; background: var(--surface); display: block; }
.ewc__noimg { background: transparent; height: 1px !important; }
.ewc__title { font-weight: 600; font-size: 15px; margin: 0; }
.ewc__meta { font-size: 13px; color: var(--ink-2); margin: 2px 0 0; min-height: 4px; }
.ewc__price { font-weight: 600; font-size: 15px; margin: 0; white-space: nowrap; }
.ewc__qty { display: inline-flex; align-items: center; gap: 2px; margin-top: 10px; border: 1px solid var(--line); border-radius: 2px; }
.ewc__qty button { width: 30px; height: 30px; font-size: 16px; }
.ewc__qty span { min-width: 24px; text-align: center; font-size: 14px; font-weight: 600; }
.ewc__foot { padding: 16px 24px calc(20px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); }
.ewc__row { display: flex; justify-content: space-between; font-size: 14.5px; margin: 0 0 8px; color: var(--ink-2); }
.ewc__row--save { color: var(--brand); font-weight: 600; }
.ewc__row--total { color: var(--ink); font-size: 18px; font-weight: 600; margin: 12px 0 16px; }
.ewc__checkout { width: 100%; background: var(--brand) !important; color: #fff !important; padding: 18px !important; border-radius: 2px; font-size: 16px; font-weight: 600; transition: background .2s; }
.ewc__checkout:hover { background: var(--brand-deep) !important; }
.ewc__checkout:disabled { opacity: .6; }
.ewc__note { text-align: center; font-size: 12.5px; color: var(--ink-2); margin: 12px 0 0; }
.ewc__note.is-demo { color: #8a5a00; background: #fbf1dc; padding: 8px; border-radius: 2px; }
.ew-cart-link { font-size: 14px; }
.ew-logo__text { font-weight: 700; font-size: 22px; letter-spacing: -.02em; color: var(--brand); line-height: 1; }
.ew-footer__logo--text { font-weight: 700; font-size: clamp(34px, 3.4vw, 52px); color: #fff; letter-spacing: -.02em; }

/* Vertrauen im Warenkorb (15.11.2026) */
.ewc__nudge { display: flex; align-items: center; gap: 10px; padding: 10px 12px; margin: 0 0 12px; border-radius: 12px; background: var(--brand-soft, #f6f3ee); color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.25; }
.ewc__nudge svg { width: 22px; height: 22px; flex: none; fill: none; stroke: var(--brand); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ewc__nudge span { flex: 1; display: grid; gap: 1px; }
.ewc__nudge small { font-weight: 500; font-size: 12.5px; color: var(--ink-2); }
.ewc__nudge button { flex: none; background: var(--brand) !important; color: #fff !important; padding: 8px 12px !important; border-radius: 999px; font-size: 13px; font-weight: 700; }
.ewc__nudge.is-done { color: var(--brand); }
.ewc__trust { list-style: none; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ewc__trust li { display: grid; justify-items: center; text-align: center; gap: 4px; font-size: 12px; font-weight: 700; color: var(--ink); line-height: 1.2; }
.ewc__trust svg { width: 22px; height: 22px; fill: none; stroke: var(--brand); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ewc__trust span { display: grid; gap: 2px; }
.ewc__trust small { font-weight: 500; font-size: 11px; color: var(--ink-2); }
.ewc__pay { display: flex; flex-wrap: wrap; justify-content: center; gap: 5px; margin: 12px 0 0; }
.ewc__pay span { font-size: 9.5px; font-weight: 700; letter-spacing: .02em; color: var(--ink-2); border: 1px solid var(--line); border-radius: 4px; padding: 3px 6px; background: #fff; }
