.dgm-root{--dgm-accent:#e60023;--dgm-surface:#fff;--dgm-text:#202124;--dgm-muted:#6b6b6b;--dgm-border:#e7e7e7;--dgm-soft:#fff3f5;--dgm-free:#208449;--dgm-overlay:rgba(0,0,0,.3);--dgm-width:400px;--dgm-top:0px;--dgm-pad:20px;--dgm-gap:14px;--dgm-image:60px;--dgm-radius:0px;font-size:14px;line-height:1.5;color:var(--dgm-text)}
.dgm-root *{box-sizing:border-box}.dgm-root [hidden]{display:none!important}.dgm-root button,.dgm-root a{font:inherit}.dgm-root button{cursor:pointer}.dgm-root button:disabled{cursor:wait;opacity:.55}.dgm-root button:focus-visible,.dgm-root a:focus-visible,.dgm-root input:focus-visible{outline:2px solid var(--dgm-accent);outline-offset:3px}.dgm-root button{text-transform:none;letter-spacing:normal}.dgm-trigger{display:inline-flex;align-items:center;gap:8px;border:0;padding:var(--dgm-trigger-pad,10px);border-radius:var(--dgm-trigger-radius,8px);background:var(--dgm-trigger-bg,var(--dgm-soft));color:var(--dgm-trigger-color,var(--dgm-accent))}.dgm-trigger svg{display:block}.dgm-trigger-count{min-width:22px;text-align:center}.dgm-trigger-total{white-space:nowrap}.dgm-overlay{position:fixed;inset:0;background:var(--dgm-overlay);z-index:999980}.dgm-panel{position:fixed;right:0;top:var(--dgm-top);width:min(var(--dgm-width),100vw);height:calc(100dvh - var(--dgm-top));max-height:calc(100vh - var(--dgm-top));display:flex;flex-direction:column;background:var(--dgm-surface);border-left:1px solid var(--dgm-border);border-radius:var(--dgm-radius);box-shadow:-8px 0 30px #0000000d;z-index:999990;overflow:hidden;color:var(--dgm-text)}
.dgm-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:var(--dgm-pad);border-bottom:1px solid var(--dgm-border);flex-shrink:0}.dgm-heading{margin:0;font-weight:700;font-size:22px;color:var(--dgm-heading-color,var(--dgm-text))}.dgm-caption,.dgm-unit{font-size:12px;color:var(--dgm-muted)}.dgm-close{border:0;background:transparent;color:var(--dgm-text);width:44px;height:44px;font-size:26px!important;padding:0}.dgm-list{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:80px;padding:0 var(--dgm-pad)}.dgm-row{display:grid;grid-template-columns:var(--dgm-image) minmax(0,1fr);gap:var(--dgm-gap);padding:18px 0;border-bottom:1px solid var(--dgm-border)}.dgm-row img{width:var(--dgm-image);height:var(--dgm-image);object-fit:contain;align-self:start;background:var(--dgm-surface)}.dgm-product-top{display:flex;align-items:start;justify-content:space-between;gap:10px}.dgm-name{color:var(--dgm-name-color,var(--dgm-text));font-weight:600;overflow-wrap:anywhere;text-decoration:none}.dgm-price{white-space:nowrap;color:var(--dgm-price-color,var(--dgm-text));font-weight:600}.dgm-product-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.dgm-qty{display:flex;align-items:center;border:1px solid var(--dgm-step-border,var(--dgm-border));border-radius:var(--dgm-step-radius,7px);overflow:hidden;color:var(--dgm-step-color,var(--dgm-accent));background:var(--dgm-step-bg,var(--dgm-surface))}.dgm-qty button{border:0;background:transparent;color:inherit;width:var(--dgm-step-size,38px);height:var(--dgm-step-size,38px);padding:0;display:grid;place-items:center;font-size:20px}.dgm-qty span{min-width:26px;text-align:center;color:var(--dgm-text)}.dgm-qty svg,.dgm-remove svg{width:16px;height:16px}.dgm-remove{border:0;background:transparent;color:var(--dgm-muted);padding:5px;display:grid;place-items:center}.dgm-bottom{padding:var(--dgm-pad);border-top:1px solid var(--dgm-border);flex-shrink:0;max-height:65%;overflow-y:auto}.dgm-delivery{color:var(--dgm-delivery-color,var(--dgm-text));border:0;margin:0 0 14px;padding:0;min-width:0}.dgm-delivery legend{font:inherit;font-weight:600;margin-bottom:8px;padding:0}.dgm-option{display:flex;gap:9px;align-items:center;border:1px solid var(--dgm-border);border-radius:8px;padding:10px;margin:0 0 7px;cursor:pointer}.dgm-option:has(input:checked){border-color:var(--dgm-accent);background:var(--dgm-soft)}.dgm-option input{accent-color:var(--dgm-accent);flex-shrink:0;width:16px;height:16px;margin:0}.dgm-option .dgm-desc{flex:1;min-width:0}.dgm-hint{display:block;font-size:12px;color:var(--dgm-muted)}.dgm-free{color:var(--dgm-free)}.dgm-option del,.dgm-summary del{font-size:12px;opacity:.65;margin-right:5px}.dgm-progress{font-size:12px;color:var(--dgm-free);margin:6px 0}.dgm-summary{color:var(--dgm-summary-color,var(--dgm-text))}.dgm-summary-row{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.dgm-total-row{font-weight:700;font-size:19px;padding-top:10px;border-top:1px solid var(--dgm-border);margin-top:10px}.dgm-checkout{display:block;width:100%;border:0;border-radius:var(--dgm-checkout-radius,8px);padding:var(--dgm-checkout-pad,13px);background:var(--dgm-checkout-bg,var(--dgm-accent));color:var(--dgm-checkout-color,#fff);text-align:center;text-decoration:none;font-weight:600;margin-top:12px}.dgm-view{display:block;text-align:center;color:var(--dgm-muted);text-decoration:underline;margin-top:10px}.dgm-status{font-size:12px;min-height:1.5em;color:var(--dgm-muted);margin:4px 0}.dgm-error{color:#b42318}.dgm-empty{padding:35px 0;text-align:center}.dgm-empty a{display:inline-block;margin-top:15px;color:var(--dgm-accent)}.dgm-mobilebar{position:fixed;bottom:calc(var(--dgm-bar-bottom,10px) + env(safe-area-inset-bottom));left:var(--dgm-bar-side,12px);right:var(--dgm-bar-side,12px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;border:0;border-radius:var(--dgm-mobilebar-radius,12px);padding:var(--dgm-mobilebar-pad,12px);background:var(--dgm-mobilebar-bg,var(--dgm-accent));color:var(--dgm-mobilebar-color,#fff);z-index:999970;min-height:62px;box-shadow:0 3px 14px #0002}.dgm-badge{width:var(--dgm-badge-size,38px);height:var(--dgm-badge-size,38px);border:1px solid currentColor;display:grid;place-items:center;border-radius:var(--dgm-badge-radius,50%);background:var(--dgm-badge-bg,transparent);color:var(--dgm-badge-color,inherit);padding:var(--dgm-badge-pad,0);justify-self:start}.dgm-bar-prices{display:flex;flex-direction:column;align-items:flex-end;white-space:nowrap}.dgm-bar-current{font-weight:700}.dgm-old{font-size:12px;color:var(--dgm-old-color,inherit);opacity:.8}.dgm-portal{position:relative;z-index:999970}.dgm-portal .elementor-widget-container{margin:0;padding:0}.dgm-retry{background:var(--dgm-soft);color:var(--dgm-accent);border:0;padding:8px;border-radius:6px}
.dgm-root.dgm-mobile{--dgm-width:100vw;--dgm-pad:16px;--dgm-image:52px}.dgm-mobile .dgm-panel{max-width:100vw;padding-bottom:env(safe-area-inset-bottom)}
@media(prefers-reduced-motion:reduce){.dgm-root *{scroll-behavior:auto}}

.dgm-portal,.dgm-portal .elementor,.dgm-portal .elementor-element{transform:none!important;filter:none!important;perspective:none!important;contain:none!important;position:static!important}.dgm-portal .elementor-element{display:block!important}

.dgm-root .dgm-trigger:hover,.dgm-root .dgm-checkout:hover,.dgm-root .dgm-mobilebar:hover{filter:brightness(.96)}.dgm-qty button:hover{background:var(--dgm-step-hover,var(--dgm-soft))}.dgm-root a:hover{color:var(--dgm-accent)}

.dgm-bar-current{color:var(--dgm-bar-current-color,inherit)}.dgm-mobile-label{color:var(--dgm-mobile-label-color,inherit)}.dgm-caption{color:var(--dgm-caption-color,var(--dgm-muted))}.dgm-unit{color:var(--dgm-unit-color,var(--dgm-muted))}.dgm-hint{color:var(--dgm-hint-color,var(--dgm-muted))}.dgm-total-row{color:var(--dgm-total-row-color,inherit)}.dgm-view{color:var(--dgm-view-color,var(--dgm-muted))}.dgm-close{color:var(--dgm-close-color,var(--dgm-text))}

/* 0.4.1: scoped resets override theme button decoration. */
.dgm-root .dgm-trigger,.dgm-root .dgm-trigger:hover,.dgm-root .dgm-trigger:focus{position:relative;background:transparent!important;padding:0!important;border:0;box-shadow:none;line-height:1;color:var(--dgm-trigger-color,var(--dgm-text));overflow:visible;gap:0}
.dgm-trigger-label,.dgm-trigger-total{display:none!important}.dgm-trigger-icon{display:flex;align-items:center;justify-content:center;font-size:var(--dgm-icon-size,26px)}.dgm-trigger-icon svg,.dgm-trigger-icon img{width:var(--dgm-icon-size,26px);height:var(--dgm-icon-size,26px)}
.dgm-root .dgm-trigger-count{position:absolute;top:-7px;right:-9px;min-width:var(--dgm-count-size,18px);height:var(--dgm-count-size,18px);padding:0 4px;display:grid;place-items:center;border-radius:999px;background:var(--dgm-count-bg,var(--dgm-accent));color:var(--dgm-count-color,#fff);font-size:11px;line-height:1;font-weight:600}
.dgm-root .dgm-close,.dgm-root .dgm-close:hover,.dgm-root .dgm-close:focus{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--dgm-close-color,var(--dgm-text));line-height:1}.dgm-close svg{display:block;width:22px;height:22px}
.dgm-row img{background:var(--dgm-image-bg,transparent);border-radius:var(--dgm-image-radius,0px);padding:var(--dgm-image-pad,0px)}.dgm-prices{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.dgm-regular{white-space:nowrap;font-size:12px;color:var(--dgm-regular-color,var(--dgm-muted));font-weight:400}.dgm-product-bottom{justify-content:flex-end}.dgm-product-top{gap:8px}
.dgm-row>div{grid-column:2;min-width:0}.dgm-row>img{grid-column:1;grid-row:1}.dgm-name{min-width:0}

/* Compact defaults; generated Elementor per-device dimensions take precedence. */
.dgm-overlay{display:none!important}.dgm-panel{box-shadow:-5px 0 18px #00000012}.dgm-top{padding:12px var(--dgm-pad)}.dgm-bottom{padding:10px var(--dgm-pad);max-height:65%}.dgm-delivery{margin:0 0 8px}.dgm-delivery legend{margin-bottom:5px}.dgm-option{padding:6px 8px;margin:0 0 5px;gap:var(--dgm-option-gap,8px)}.dgm-option input{width:var(--dgm-radio-size,15px);height:var(--dgm-radio-size,15px)}.dgm-progress{margin:3px 0;font-size:11px}.dgm-summary-row{margin:3px 0}.dgm-total-row{margin-top:6px;padding-top:6px}.dgm-checkout{padding:var(--dgm-checkout-pad,9px);margin-top:8px;position:relative;display:flex;align-items:center;justify-content:center;gap:8px}.dgm-view{margin-top:5px;font-size:12px}.dgm-status{min-height:0;margin:0}.dgm-status:empty{display:none}.dgm-status.dgm-error{margin:6px 0}.dgm-root .dgm-checkout.dgm-loading{background:var(--dgm-checkout-loading-bg,#ad001c);color:var(--dgm-checkout-loading-color,#fff);opacity:1;cursor:wait}.dgm-checkout.dgm-loading:before{content:'';width:12px;height:12px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:dgm-spin .7s linear infinite;flex-shrink:0}@keyframes dgm-spin{to{transform:rotate(360deg)}}
.dgm-qty button{width:var(--dgm-step-size,32px);height:var(--dgm-step-size,32px);font-size:var(--dgm-step-icon,18px)}.dgm-qty svg{width:var(--dgm-step-icon,15px);height:var(--dgm-step-icon,15px)}.dgm-qty span{min-width:var(--dgm-number-width,24px)}.dgm-prices{gap:var(--dgm-price-gap,1px)}.dgm-root .dgm-close{width:var(--dgm-close-size,32px);height:var(--dgm-close-size,32px)}.dgm-close svg{width:var(--dgm-close-icon,20px);height:var(--dgm-close-icon,20px)}
@media(prefers-reduced-motion:reduce){.dgm-checkout.dgm-loading:before{animation:none}}

/* Independent name/unit and price/quantity columns avoid empty name-to-unit space. */
.dgm-product-info{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.dgm-product-info .dgm-name{display:block}.dgm-product-info .dgm-unit{margin:0}
.dgm-mobile .dgm-top{padding:8px var(--dgm-pad)}.dgm-mobile .dgm-heading{font-size:22px;line-height:1.2}.dgm-mobile .dgm-caption{line-height:1.35;margin-top:3px}
.dgm-mobile .dgm-row{padding:10px 0;gap:10px;grid-template-columns:var(--dgm-image,48px) minmax(0,1fr)}
.dgm-product-side{display:flex;flex-direction:column;align-items:flex-end;flex-shrink:0}.dgm-mobile .dgm-product-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.dgm-mobile .dgm-product-bottom{margin-top:5px;justify-content:flex-end}.dgm-mobile .dgm-name{font-size:13px;line-height:1.35}.dgm-mobile .dgm-unit{font-size:11px;line-height:1.35}.dgm-mobile .dgm-price{font-size:13px}.dgm-mobile .dgm-regular{font-size:11px}
.dgm-root .dgm-qty{align-items:center}.dgm-root .dgm-qty button{display:flex;align-items:center;justify-content:center;line-height:1;flex:0 0 auto;vertical-align:middle}.dgm-root .dgm-qty>span{display:flex;align-items:center;justify-content:center;line-height:1;align-self:stretch}.dgm-root .dgm-qty svg{display:block;flex-shrink:0}

.dgm-add-more{display:block;margin:0 0 10px;padding:6px 0;color:var(--dgm-add-more-color,var(--dgm-text));font-weight:600;text-decoration:none;line-height:1.4}

/* Mobile-only progress indicator and shopping/count row. */
.dgm-shopping-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;min-width:0}
.dgm-shopping-row .dgm-add-more{margin:0;min-width:0;font-size:13px}
.dgm-shopping-row .dgm-caption{margin:0;text-align:right;font-size:11px;line-height:1.35;flex-shrink:0;white-space:nowrap}
.dgm-steps{display:none;list-style:none;margin:0;padding:12px 20px 8px;flex-shrink:0;--dgm-stage-active:#303234;--dgm-stage-inactive:#d9dadd;--dgm-stage-number:#fff}
.dgm-mobile .dgm-steps{display:flex;font-size:12px;font-weight:600;line-height:1.3}
.dgm-steps li{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;text-align:center}
.dgm-steps li:before{content:'';position:absolute;top:calc(var(--dgm-stage-size,28px)/2 - 1px);height:2px;background:var(--dgm-stage-inactive);left:-50%;width:100%}
.dgm-steps li:first-child:before{display:none}.dgm-steps .dgm-stage-current:before{background:var(--dgm-stage-active)}
.dgm-stage-circle{position:relative;z-index:1;display:grid;place-items:center;width:var(--dgm-stage-size,28px);height:var(--dgm-stage-size,28px);border:3px solid var(--dgm-stage-inactive);border-radius:50%;background:var(--dgm-surface);color:var(--dgm-stage-active);line-height:1;flex-shrink:0}
.dgm-stage-done .dgm-stage-circle,.dgm-stage-current .dgm-stage-circle{background:var(--dgm-stage-active);border-color:var(--dgm-stage-active);color:var(--dgm-stage-number)}

/* Keep the mobile progress steps above the header divider. */
.dgm-mobile .dgm-top{border-bottom:0}
.dgm-mobile .dgm-steps{border-bottom:1px solid var(--dgm-border)}

/* One mobile header row: title, progress, close. Existing responsive controls override defaults. */
.dgm-top{gap:var(--dgm-header-gap,10px)}
.dgm-mobile .dgm-top{display:flex;align-items:center;gap:var(--dgm-header-gap,8px);border-bottom:1px solid var(--dgm-border)}
.dgm-mobile .dgm-top>div:first-child{flex:0 0 auto;min-width:0}
.dgm-mobile .dgm-heading{font-size:18px;white-space:nowrap}
.dgm-mobile .dgm-steps{flex:1 1 0;min-width:0;margin:0;padding:0;border-bottom:0;font-size:10px;font-weight:600}
.dgm-mobile .dgm-steps li{gap:var(--dgm-stage-label-gap,4px);overflow-wrap:anywhere}
.dgm-mobile .dgm-stage-circle{width:var(--dgm-stage-size,22px);height:var(--dgm-stage-size,22px)}
.dgm-mobile .dgm-steps li:before{top:calc(var(--dgm-stage-size,22px)/2 - 1px)}
.dgm-mobile .dgm-close{flex:0 0 auto}

/* The full cart link is redundant in the mobile cart panel. */
.dgm-mobile .dgm-view{display:none}
