/* Floating basket: inherit customer typography and configured theme palette. */
.dht-theme .dht-cart-trigger {position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:95;width:64px;height:64px;border:0;border-radius:50%;background:var(--dht-red);color:white;box-shadow:0 5px 22px #0003;cursor:pointer;}
.dht-cart-trigger .fas {font-size:24px;}
.dht-cart-count {position:absolute;right:-3px;top:-3px;min-width:26px;height:26px;padding:0 5px;border-radius:20px;background:var(--dht-yellow);color:var(--dht-ink);font-weight:800;line-height:26px;}
.dht-cart-trigger:hover {filter:brightness(.94);}
.dht-theme:has(#cookie-message[style*="visible"]) .dht-cart-trigger {bottom:100px;}
.dht-cart-open {overflow:hidden;}
.dht-theme .dht-cart {position:fixed;inset:20px 20px 20px auto;margin:0;width:460px;max-width:calc(100vw - 40px);height:calc(100% - 40px);height:calc(100dvh - 40px);max-height:none;padding:0;border:0;border-radius:16px;background:var(--dht-paper);color:var(--dht-ink);font:inherit;box-shadow:0 16px 60px #0003;overflow:hidden;}
.dht-cart[open] {display:flex;flex-direction:column;}
.dht-cart::backdrop {background:#0006;}
.dht-cart-head {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;background:white;border-bottom:1px solid var(--dht-paper);flex-shrink:0;}
.dht-theme .dht-cart-head h2 {font-size:1.65rem;margin:0;}
.dht-cart button {cursor:pointer;}
.dht-cart-close {flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:var(--dht-paper);color:var(--dht-ink);}
.dht-cart-body {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 24px;}
.dht-cart-status {margin:20px 0;}
.dht-cart-status:empty {display:none;}
.dht-cart-line {display:grid;grid-template-columns:68px minmax(0,1fr) auto;gap:14px;padding:22px 0;border-bottom:1px solid var(--dht-paper);background:white;}
.dht-cart-lines {background:white;margin:0 -24px;padding:0 24px;}
.dht-cart-line>img {width:68px;height:80px;object-fit:contain;}
.dht-cart-line:not(:has(>img:not([hidden]))) {grid-template-columns:minmax(0,1fr) auto;}
.dht-cart-info {min-width:0;overflow-wrap:anywhere;}
.dht-cart-info>a,.dht-cart-info>strong {font-weight:800;line-height:1.4;display:block;}
.dht-cart-info p {margin:4px 0;}
.dht-cart-info p:empty {display:none;}
.dht-cart-price {white-space:nowrap;}
.dht-cart-quantity {display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px;}
.dht-cart-quantity button {width:44px;height:44px;border:1px solid var(--dht-paper);border-radius:8px;background:var(--dht-paper);color:var(--dht-ink);}
.dht-cart-quantity button:last-child {color:var(--dht-red);}
.dht-cart button:disabled {opacity:.55;cursor:wait;}
.dht-cart-footer {padding:20px 24px;background:white;box-shadow:0 -4px 20px #00000008;flex-shrink:0;}
.dht-cart-subtotal {display:flex;justify-content:space-between;gap:15px;}
.dht-cart-note {margin:8px 0 16px;}
.dht-theme .dht-cart-checkout {width:100%;text-align:center;}
.dht-cart-continue,.dht-cart-retry {display:block;width:100%;border:0;background:transparent;color:var(--dht-red);padding:12px;text-decoration:underline;}
.dht-cart [hidden] {display:none!important;}
@media(max-width:600px){
    .dht-theme .dht-cart-trigger {width:56px;height:56px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));}
    .dht-theme .dht-cart {inset:8px 0 0;max-width:none;width:100%;height:calc(100% - 8px);height:calc(100dvh - 8px);border-radius:16px 16px 0 0;}
    .dht-cart-head {padding:16px 18px;padding-top:max(16px,env(safe-area-inset-top));}
    .dht-cart-body {padding:0 18px;}
    .dht-cart-lines {margin:0 -18px;padding:0 18px;}
    .dht-cart-line {grid-template-columns:52px minmax(0,1fr) auto;gap:10px;}
    .dht-cart-line>img {width:52px;height:68px;}
    .dht-cart-footer {padding:16px 18px max(12px,env(safe-area-inset-bottom));}
    .dht-theme .dht-cart-head h2 {font-size:1.45rem;}
}

/* Checkout already provides the complete basket and purchase controls. */
.dht-theme.page-checkout .dht-cart-trigger,
.dht-theme:has(#ajax-helper[data-url^="/checkout"]) .dht-cart-trigger,
.dht-theme:has(.dht-checkout,.dht-checkout-empty) .dht-cart-trigger {display:none;}
