/* Slide-out cart (inc/cart-drawer.php), layout as the Shopify Kaching cart. */
.dn-cart {
  --dn-cart-ink: #121820;
  --dn-cart-muted: #6b7280;
  --dn-cart-line: #e5e7eb;
  --dn-cart-blue: #2f6bff;
  --dn-cart-blue-dark: #245be0;
  --dn-cart-soft: #f2f3f6;
  color: var(--dn-cart-ink);
  font-family: var(--font-body-family);
  letter-spacing: normal;
}
.dn-cart *, .dn-cart *::before, .dn-cart *::after { box-sizing: border-box; }
.dn-cart p, .dn-cart h2, .dn-cart ul { margin: 0; padding: 0; }
.dn-cart ul { list-style: none; }
.dn-cart button { font: inherit; color: inherit; cursor: pointer; background: none; border: 0; padding: 0; }
.dn-cart__i { display: block; width: 20px; height: 20px; flex: none; }

/* Drawer frame */
.dn-cart-overlay { position: fixed; inset: 0; z-index: 9998; background: rgba(18, 24, 32, .45); opacity: 0; transition: opacity .25s ease; }
.dn-cart-overlay.is-open { opacity: 1; }
.dn-cart--drawer { position: fixed; top: 0; right: 0; bottom: 0; z-index: 9999; width: min(100vw, 460px); background: #fff; box-shadow: -8px 0 30px rgba(18, 24, 32, .18); transform: translateX(100%); transition: transform .3s ease; }
.dn-cart--drawer.is-open { transform: none; }
.dn-cart--drawer .dn-cart__panel { display: flex; flex-direction: column; height: 100%; }
/* Lines scroll; header, banner and footer stay put (as on Shopify). */
.dn-cart--drawer .dn-cart__lines { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.dn-cart--drawer .dn-cart__head, .dn-cart--drawer .dn-cart__promo, .dn-cart--drawer .dn-cart__foot { flex: none; }
@media (max-width: 749px) { html.dn-cart-locked { overflow: hidden; } }
/* Phones, where the drawer covers the whole width: once it has slid in, hide the page behind it. iOS Safari draws
   the page (not the drawer) in the strip under its shrunken address bar, which would otherwise show the product page. */
@media (max-width: 460px) {
  html.dn-cart-locked body > :not(.dn-cart):not(.dn-cart-overlay) { visibility: hidden; transition: visibility 0s linear .3s; }
}
.dn-cart.is-busy .dn-cart__panel { pointer-events: none; opacity: .6; transition: opacity .15s; }

/* Page mode (cart page) */
/* 80px top margin: room for the floating header. */
.dn-cart--page { max-width: 560px; margin: 80px auto 64px; padding: 0 16px; }
.dn-cart--page .dn-cart__panel { border: 1px solid var(--dn-cart-line); border-radius: 16px; overflow: hidden; }

/* Header */
.dn-cart__head { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 16px; border-bottom: 1px solid var(--dn-cart-line); }
.dn-cart__spacer { width: 32px; }
.dn-cart__title { flex: 1; display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 20px; font-weight: 700; line-height: 1.2; }
.dn-cart--page .dn-cart__title { flex: none; }
.dn-cart__bag { position: relative; display: inline-flex; color: var(--dn-cart-blue); }
.dn-cart__bag .dn-cart__i { width: 26px; height: 26px; }
.dn-cart__bubble { position: absolute; top: -6px; right: -8px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--dn-cart-blue); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.dn-cart__close { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; }
.dn-cart__close:hover { background: var(--dn-cart-soft); }
.dn-cart__close .dn-cart__i { width: 22px; height: 22px; stroke-width: 2; }

/* "Cart reserved for 09:59" */
.dn-cart__reserved { font-size: 18px; }
.dn-cart__timer { display: inline-block; color: var(--dn-cart-blue); font-variant-numeric: tabular-nums; }

/* Free shipping progress */
.dn-cart__ship { padding: 10px 20px 12px; border-bottom: 1px solid var(--dn-cart-line); text-align: center; }
.dn-cart__ship-text { margin: 0 0 9px; font-size: 15.5px; line-height: 1.4; color: var(--dn-cart-ink); text-wrap: balance; }
.dn-cart__ship-icon { display: inline-block; margin-right: 6px; font-size: 18px; line-height: 1; vertical-align: -2px; }
.dn-cart__ship.is-free .dn-cart__ship-text { color: #15803d; font-weight: 600; }
.dn-cart__ship.is-free strong { color: #15803d; }
.dn-cart__ship-text em { color: #15803d; font-style: normal; font-weight: 700; }
.dn-cart__ship-hint { margin: 7px 0 0; color: var(--dn-cart-muted); font-size: 13.5px; text-align: center; }
.dn-cart__ship-bar { height: 8px; border-radius: 4px; background: #e5e7eb; overflow: hidden; }
.dn-cart__ship-bar span { display: block; height: 100%; border-radius: 4px; background: var(--dn-cart-blue); transition: width .4s ease; }
.dn-cart__ship.is-free .dn-cart__ship-bar span { background: #16a34a; }
.dn-cart--drawer .dn-cart__ship { flex: none; }

/* Promo banner */
.dn-cart__promo { display: flex; align-items: center; gap: 12px; padding: 10px 20px; background: #fdf1e3; border-bottom: 1px solid #f6d9b8; }
.dn-cart__promo img { width: 56px; height: 56px; object-fit: contain; flex: none; }
.dn-cart__promo-amount { font-family: Fraunces, Georgia, serif; font-size: 30px; font-weight: 900; line-height: 1.05; color: #c46a1d; letter-spacing: -.01em; }
.dn-cart__promo-line { margin-top: 2px; font-size: 15px; font-weight: 700; color: #b0601c; }

/* Lines */
.dn-cart .dn-cart__lines { padding: 6px 20px; }
.dn-cart__line { display: grid; grid-template-columns: 80px minmax(0, 1fr) auto; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--dn-cart-line); }
.dn-cart__line:last-child { border-bottom: 0; }
.dn-cart__thumb { display: block; width: 80px; height: 80px; border: 1px solid var(--dn-cart-line); border-radius: 10px; overflow: hidden; background: #fff; }
.dn-cart__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dn-cart__name { font-size: 15px; font-weight: 700; line-height: 1.3; }
.dn-cart__qty { display: inline-flex; align-items: center; margin-top: 10px; border: 1px solid var(--dn-cart-line); border-radius: 8px; }
.dn-cart__qty button { display: grid; place-items: center; width: 34px; height: 34px; }
.dn-cart__qty button:hover { background: var(--dn-cart-soft); }
.dn-cart__qty .dn-cart__i { width: 14px; height: 14px; stroke-width: 2.4; }
.dn-cart__qty span { min-width: 34px; height: 34px; border-left: 1px solid var(--dn-cart-line); border-right: 1px solid var(--dn-cart-line); font-size: 14px; line-height: 34px; text-align: center; color: #5b21b6; }
.dn-cart__prices { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; text-align: right; }
.dn-cart__price-row { display: flex; align-items: baseline; justify-content: flex-end; gap: 8px; }
.dn-cart__meta { display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.dn-cart__was { color: #9ca3af; font-size: 13px; }
.dn-cart__now { font-size: 16px; font-weight: 700; }
.dn-cart__save { display: inline-flex; align-items: center; gap: 4px; padding: 3px 6px; border-radius: 4px; background: #dbe4ff; color: #1e293b; font-size: 12px; white-space: nowrap; }
.dn-cart__save .dn-cart__i { width: 13px; height: 13px; fill: currentColor; }
.dn-cart__remove { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 6px; }
.dn-cart__remove:hover { background: var(--dn-cart-soft); }

/* Bundles: one line with the set's products listed under the title; extras (free warranty, mouse) hang under it. */
.dn-cart__line--bundle { row-gap: 10px; }
.dn-cart__line--bundle .dn-cart__parts, .dn-cart__line--bundle > .dn-cart__qty { grid-column: 2 / -1; }
.dn-cart__line--bundle > .dn-cart__qty { justify-self: start; margin-top: 0; }
.dn-cart .dn-cart__parts-toggle { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; color: var(--dn-cart-muted); font-size: 14px; }
.dn-cart__parts-toggle svg { width: 13px; height: 13px; transition: transform .2s; }
.dn-cart__line--bundle:not(.is-open) .dn-cart__parts { display: none; }
.dn-cart__line--bundle:not(.is-open) .dn-cart__parts-toggle svg { transform: rotate(180deg); }
.dn-cart .dn-cart__parts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; }
.dn-cart__part { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 6px; align-items: center; }
.dn-cart__part-img { display: block; width: 36px; height: 36px; border: 1px solid var(--dn-cart-line); border-radius: 6px; overflow: hidden; background: #fff; }
.dn-cart__part-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dn-cart__part-name { display: block; font-size: 13px; line-height: 1.25; }
.dn-cart__line:has(+ .dn-cart__line--sub) { border-bottom: 0; padding-bottom: 4px; }
.dn-cart .dn-cart__line--sub { position: relative; grid-template-columns: 60px minmax(0, 1fr) auto; padding-top: 4px; padding-left: 30px; }
.dn-cart .dn-cart__line--sub .dn-cart__thumb { width: 60px; height: 60px; }
.dn-cart__sub-arrow { position: absolute; top: 8px; left: 0; width: 26px; height: 26px; color: var(--dn-cart-ink); }

/* Empty */
.dn-cart__empty { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 48px 20px; text-align: center; font-size: 17px; }
.dn-cart__continue { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border-radius: 12px; background: var(--dn-cart-blue); color: #fff; font-weight: 700; text-decoration: none; }

/* Footer: pinned to the bottom of the drawer */
.dn-cart__foot { margin-top: auto; display: flex; flex-direction: column; }
.dn-cart__upsells { display: grid; grid-template-columns: 36px minmax(0, 1fr) 36px; align-items: center; gap: 8px; padding: 14px 12px; }
.dn-cart__arrow { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; }
.dn-cart__arrow:hover { background: var(--dn-cart-soft); }
.dn-cart__arrow[hidden] { display: grid; visibility: hidden; }
.dn-cart__upsell { display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px 14px; border-radius: 12px; background: var(--dn-cart-soft); }
/* Cards side by side in a strip that scrolls with a swipe; the arrows scroll it one card at a time. */
.dn-cart__upsell-track { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.dn-cart__upsell-track::-webkit-scrollbar { display: none; }
.dn-cart__upsell-track > .dn-cart__upsell { flex: 0 0 100%; scroll-snap-align: start; }
.dn-cart__upsell-img { display: block; width: 68px; height: 68px; border: 1px solid var(--dn-cart-line); border-radius: 8px; overflow: hidden; background: #fff; }
.dn-cart__upsell-img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dn-cart__upsell-name { font-size: 14px; font-weight: 700; }
.dn-cart .dn-cart__upsell-desc { margin-top: 2px; color: #4b5563; font-size: 12.5px; line-height: 1.35; }
.dn-cart__upsell-prices { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 6px 0 8px; font-size: 14px; }
.dn-cart__upsell-now { font-weight: 700; }
.dn-cart__upsell-prices s { color: #9ca3af; font-size: 13px; }
.dn-cart__upsell-save { padding: 2px 6px; border-radius: 4px; background: #dbe4ff; font-size: 12px; }
.dn-cart__upsell-add { padding: 6px 12px; border-radius: 4px; background: var(--dn-cart-blue) !important; color: #fff !important; font-size: 13px !important; font-weight: 700; }
.dn-cart__upsell-add:hover { background: var(--dn-cart-blue-dark) !important; }

.dn-cart__info-bar { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 16px; background: #e8eefb; font-size: 14px; color: #374151; text-align: center; white-space: nowrap; }
.dn-cart__dhl-truck { flex: none; width: 24px; height: 24px; color: #0e7c57; }
.dn-cart__dhl-logo { flex: none; width: auto !important; height: 20px !important; max-width: none; border-radius: 4px; }

.dn-cart__protect { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 12px 20px; cursor: pointer; }
.dn-cart__protect-img { width: 56px; height: 56px; object-fit: contain; }
.dn-cart__protect-title { display: block; font-size: 16px; font-weight: 700; }
.dn-cart__protect-desc { display: block; margin-top: 3px; font-size: 13px; line-height: 1.45; color: #374151; }
.dn-cart__protect-side { display: flex; align-items: center; gap: 10px; }
.dn-cart__protect-price { font-size: 15px; font-weight: 700; }
.dn-cart .dn-cart__switch { appearance: none; -webkit-appearance: none; position: relative; flex: none; width: 38px !important; height: 22px !important; min-width: 38px; margin: 0 !important; padding: 0; border: 0 !important; border-radius: 11px !important; background: #d1d5db; box-shadow: none !important; cursor: pointer; transition: background .2s; }
.dn-cart .dn-cart__switch::after { content: ""; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, .25); transition: transform .2s; }
.dn-cart .dn-cart__switch:checked { background: var(--dn-cart-blue); }
.dn-cart .dn-cart__switch:checked::after { transform: translateX(16px); }
.dn-cart__switch:focus-visible { outline: 2px solid var(--dn-cart-blue); outline-offset: 2px; }

.dn-cart__checkout { display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 4px 20px 0; padding: 11px 16px; border-radius: 8px; background: var(--dn-cart-blue); color: #fff !important; text-decoration: none; transition: background .2s; }
.dn-cart__checkout:hover { background: var(--dn-cart-blue-dark); }
.dn-cart__checkout-main { display: flex; align-items: center; gap: 8px; font-size: 19px; font-weight: 700; letter-spacing: .02em; }
.dn-cart__lock { font-size: 17px; }
.dn-cart__checkout-sub { display: flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 600; opacity: .92; }
.dn-cart__checkout-sub .dn-cart__i { width: 14px; height: 14px; }

.dn-cart__pays { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; padding: 12px 20px 16px; }
.dn-cart__pay svg { display: block; width: 42px; height: auto; }

@media (max-width: 749px) {
  .dn-cart__head { padding: 8px 5px; }
  /* "Cart reserved for 09:59 minutes" stays on one line across the full width: 18px where it fits, smaller on
     narrow phones. 93px = 5px padding each side + bag, gaps and close button; the divisor is the text's width per
     px of font size in each language. */
  .dn-cart__spacer { display: none; }
  .dn-cart__title { gap: 13px; }
  .dn-cart__reserved { font-size: min(18px, calc((100vw - 93px) / 14)); white-space: nowrap; }
  html[lang^="de"] .dn-cart__reserved { font-size: min(18px, calc((100vw - 93px) / 17.8)); }
  html[lang^="nl"] .dn-cart__reserved { font-size: min(18px, calc((100vw - 93px) / 21.4)); }
  .dn-cart__ship { padding: 10px 14px 8px; }
  .dn-cart__ship-text { font-size: 16.5px; }
  .dn-cart__ship-hint { font-size: 15.5px; }
  .dn-cart__line { align-items: start; padding-top: 10px; }
  .dn-cart__name { font-size: 17px; }
  .dn-cart__now { font-size: 17px; }
  .dn-cart__upsell-add { display: block; width: 100%; margin-top: 6px; white-space: nowrap; padding: 9px 14px; font-size: 14px !important; }
  /* Narrow arrows so the card (and its description) gets most of the width. */
  .dn-cart__upsells { grid-template-columns: 20px minmax(0, 1fr) 20px; gap: 4px; padding: 12px 6px; }
  .dn-cart__arrow { position: relative; width: 20px; height: 40px; border-radius: 6px; }
  /* Bigger tap area than the thin arrow itself. */
  .dn-cart__arrow::after { content: ""; position: absolute; inset: -14px -6px; }
  .dn-cart__arrow .dn-cart__i { width: 18px; height: 18px; }
  .dn-cart__upsell { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .dn-cart__upsell-img { width: 60px; height: 60px; }
  .dn-cart .dn-cart__info-bar { padding: 5px 14px; font-size: clamp(13px, calc(3.9vw - 1px), 15px); font-weight: 400; color: #121820; }
  .dn-cart__protect { grid-template-columns: 50px minmax(0, 1fr) auto; gap: 10px; padding-top: 8px; padding-bottom: 8px; }
  .dn-cart__protect-img { width: 50px; height: 50px; }
  .dn-cart__protect-title { font-size: 18px; line-height: 1.25; }
  .dn-cart__protect-desc { margin-top: 1px; font-size: 15px; line-height: 1.35; }
  .dn-cart__protect-price { font-size: 17px; }
  .dn-cart__checkout { gap: 0; padding: 11px 16px; }
  .dn-cart__checkout-main { font-size: 22px; line-height: 1.15; }
  .dn-cart__checkout-sub { font-size: 13px; line-height: 1.2; }
  /* Payment icons share the full width on narrow phones, but are never wider than 38px. */
  .dn-cart__pays { flex-wrap: nowrap; justify-content: center; gap: 4px; padding: 10px 14px 14px; }
  .dn-cart__pay { flex: 1 1 0; min-width: 0; max-width: 38px; }
  .dn-cart__pay svg { width: 100%; }
}
@media (max-width: 480px) {
  .dn-cart .dn-cart__lines { padding: 4px 14px; }
  .dn-cart__line { grid-template-columns: 70px minmax(0, 1fr) auto; gap: 10px; }
  .dn-cart__thumb { width: 70px; height: 70px; }
  .dn-cart__protect { padding-left: 14px; padding-right: 14px; }
  .dn-cart__checkout { margin: 4px 14px 0; }
}

/* Compact layout. Discount: pumpkin, amount and "30% Halloween discount" (far right) on one row. */
.dn-cart .dn-cart__promo { gap: 12px; padding: 8px 14px; }
.dn-cart__promo img { width: 39px; height: 39px; }
.dn-cart__promo > div { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.dn-cart__promo-amount { white-space: nowrap; }
.dn-cart .dn-cart__promo-line { margin: 0; text-align: right; white-space: nowrap; font-size: min(15px, calc((100vw - 195px) / 11.5)); }
/* Each upsell card only as tall as its own content, so its padding is the same on all four sides. */
.dn-cart__upsell-track { align-items: center; }
/* Shipping protection: title, price and switch on one row, the description in two lines below, starting where
   the title starts (its font shrinks on narrow phones to keep two lines; 82px = side padding, image and gap; the
   divisor is half its width per px of font size, plus room for the line break). */
.dn-cart .dn-cart__protect { grid-template-columns: 44px minmax(0, 1fr) auto; grid-template-areas: "img title side" "img desc desc"; align-items: center; gap: 2px 10px; padding: 8px 14px; }
.dn-cart__protect-text { display: contents; }
.dn-cart .dn-cart__protect-img { grid-area: img; align-self: start; width: 44px; height: 44px; }
.dn-cart .dn-cart__protect-title { grid-area: title; }
.dn-cart__protect-side { grid-area: side; }
.dn-cart .dn-cart__protect-desc { grid-area: desc; margin: 0; font-size: min(15px, calc((100vw - 82px) / 18.5)); line-height: 1.35; }
html[lang^="de"] .dn-cart .dn-cart__protect-desc { font-size: min(15px, calc((100vw - 82px) / 22.8)); }
html[lang^="nl"] .dn-cart .dn-cart__protect-desc { font-size: min(15px, calc((100vw - 82px) / 19.6)); }
/* On the cart page the panel is 34px narrower than the screen (page padding and border). */
.dn-cart.dn-cart--page .dn-cart__protect-desc { font-size: min(15px, calc((100vw - 116px) / 18.5)); }
html[lang^="de"] .dn-cart.dn-cart--page .dn-cart__protect-desc { font-size: min(15px, calc((100vw - 116px) / 22.8)); }
html[lang^="nl"] .dn-cart.dn-cart--page .dn-cart__protect-desc { font-size: min(15px, calc((100vw - 116px) / 19.6)); }
@media (min-width: 750px) {
  /* The drawer is 460px wide on larger screens. */
  .dn-cart .dn-cart__promo-line { font-size: 15px; }
  .dn-cart .dn-cart__protect-desc, html[lang] .dn-cart .dn-cart__protect-desc { font-size: 13.5px; }
}

/* "Your order ships FREE" on one line (64px = side padding, the emoji and a little room; the divisor is its width per px of
   font size in each language). */
.dn-cart__ship.is-free .dn-cart__ship-text { white-space: nowrap; }
/* Phones whose browser bar floats over the page (iOS Safari): the drawer and its backdrop continue below the
   bottom edge, so the page never shows through under the payment icons. */
.dn-cart--drawer::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 50vh; background: #fff; }
.dn-cart-overlay { bottom: -50vh; }
@media (max-width: 749px) {
  .dn-cart .dn-cart__ship.is-free .dn-cart__ship-text { font-size: min(16.5px, calc((100vw - 64px) / 17.2)); }
  html[lang^="de"] .dn-cart .dn-cart__ship.is-free .dn-cart__ship-text { font-size: min(16.5px, calc((100vw - 64px) / 25.4)); }
  html[lang^="nl"] .dn-cart .dn-cart__ship.is-free .dn-cart__ship-text { font-size: min(16.5px, calc((100vw - 64px) / 23.2)); }
  .dn-cart .dn-cart__upsells { padding-top: 5px; }
  .dn-cart .dn-cart__upsell-save { padding: 1px 4px; font-size: 9.5px; }
  /* Cart lines 1px smaller. */
  .dn-cart .dn-cart__name { font-size: 16px; }
  .dn-cart .dn-cart__now { font-size: 17px; }
  .dn-cart .dn-cart__was { font-size: 12px; }
  .dn-cart .dn-cart__save { font-size: 12px; }
  .dn-cart .dn-cart__upsell { padding-top: 6px; }
  .dn-cart .dn-cart__qty button { width: 33px; height: 33px; }
  .dn-cart .dn-cart__qty span { min-width: 33px; height: 33px; font-size: 13px; line-height: 33px; }
  .dn-cart .dn-cart__protect { padding-top: 5px; }
  .dn-cart .dn-cart__checkout { padding-top: 10px; padding-bottom: 10px; }
}
@media (max-width: 480px) {
  .dn-cart .dn-cart__line { grid-template-columns: 69px minmax(0, 1fr) auto; }
  .dn-cart .dn-cart__thumb { width: 69px; height: 69px; }
  .dn-cart .dn-cart__line--sub { grid-template-columns: 59px minmax(0, 1fr) auto; }
  .dn-cart .dn-cart__line--sub .dn-cart__thumb { width: 59px; height: 59px; }
}
/* Shipping protection image centred next to its title and text. */
.dn-cart .dn-cart__protect-img { align-self: center; }
/* No "One more item and shipping is free!" line: the line above already says how much is missing. */
.dn-cart .dn-cart__ship-hint { display: none; }
/* A bundle is one offer: no quantity selector for it. */
.dn-cart .dn-cart__line--bundle > .dn-cart__qty { display: none; }
/* No payment icons under the checkout button. */
.dn-cart .dn-cart__pays { display: none; }
.dn-cart .dn-cart__checkout { margin-bottom: 14px; }

@media (prefers-reduced-motion: reduce) {
  .dn-cart--drawer, .dn-cart-overlay { transition: none; }
}
