
.dfgcartpremium-wrapper{position:relative}
.dfgcartpremium{position:relative}
.dfgcartpremium *{box-sizing:border-box}
.dfgcartpremium-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff!important;text-decoration:none!important;border-radius:999px;transition:transform .22s ease,background .22s ease,box-shadow .22s ease;background:transparent}
.dfgcartpremium-toggle:hover{background:rgba(255,255,255,.05);box-shadow:0 0 0 1px rgba(255,255,255,.05) inset}
.dfgcartpremium-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;transition:transform .22s ease,color .22s ease,filter .22s ease;opacity:.98}
.dfgcartpremium-icon svg{width:22px;height:22px;display:block;overflow:visible}
.dfgcartpremium-toggle:hover .dfgcartpremium-icon{color:var(--dfg-red,#e10600);transform:scale(1.06);filter:drop-shadow(0 0 8px rgba(225,6,0,.22))}
.dfgcartpremium-toggle.is-updated .dfgcartpremium-icon{animation:dfgCartPulse .6s ease}
.dfgcartpremium-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.cart-products-count{position:absolute;top:-5px;right:-7px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--dfg-red,#e10600);color:#fff;font-size:10px;font-weight:800;line-height:1;box-shadow:0 0 0 2px var(--dfg-black,#0b0b0b),0 8px 22px rgba(225,6,0,.22);transform:scale(.8);opacity:0;transition:transform .22s ease,opacity .22s ease,box-shadow .22s ease}
.cart-products-count.is-visible{transform:scale(1);opacity:1}
.dfgcartpremium-toggle:hover .cart-products-count{box-shadow:0 0 0 2px var(--dfg-black,#0b0b0b),0 0 12px rgba(225,6,0,.55)}
.cart-products-count.is-bump{animation:dfgCartCountBump .48s ease}
.dfgcartpremium-dropdown{position:absolute;top:calc(100% + 14px);right:0;width:min(400px,calc(100vw - 24px));padding:18px;border-radius:22px;background:linear-gradient(180deg,#171717 0%,#101010 100%);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px rgba(0,0,0,.42);opacity:0;visibility:hidden;transform:translateY(8px);transition:all .22s ease;z-index:1000}
.dfgcartpremium:hover .dfgcartpremium-dropdown,.dfgcartpremium:focus-within .dfgcartpremium-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dfgcartpremium-dropdown-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:14px}
.dfgcartpremium-dropdown-head strong{font-size:14px;line-height:1.1;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.dfgcartpremium-dropdown-head span{font-size:11px;color:var(--dfg-muted,#c9c6c6);text-transform:uppercase;letter-spacing:.08em}
.dfgcartpremium-products{display:grid;gap:12px;max-height:330px;overflow:auto;padding-right:4px}
.dfgcartpremium-products::-webkit-scrollbar{width:8px}
.dfgcartpremium-products::-webkit-scrollbar-thumb{background:rgba(255,255,255,.09);border-radius:999px}
.dfgcartpremium-item{display:grid;grid-template-columns:66px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:rgba(255,255,255,.03)}
.dfgcartpremium-item-image{display:block;width:66px;height:66px;border-radius:14px;overflow:hidden;background:#0d0d0d;border:1px solid rgba(255,255,255,.06)}
.dfgcartpremium-item-image img{width:100%;height:100%;object-fit:cover;display:block}
.dfgcartpremium-item-name{display:block;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:13px;line-height:1.25;text-transform:uppercase;margin-bottom:6px}
.dfgcartpremium-item-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#ddd}
.dfgcartpremium-item-attrs{font-size:11px;color:var(--dfg-muted,#c9c6c6);margin-top:6px;line-height:1.4}
.dfgcartpremium-remove{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#161616;border:1px solid rgba(255,255,255,.08);color:#fff!important;text-decoration:none!important;font-size:20px;line-height:1}
.dfgcartpremium-remove:hover{background:var(--dfg-red,#e10600);border-color:var(--dfg-red,#e10600)}
.dfgcartpremium-subtotals{display:grid;gap:8px;padding:14px 0 0;margin-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.dfgcartpremium-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#ddd}
.dfgcartpremium-total{padding-top:6px;color:#fff;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.dfgcartpremium-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.dfgcartpremium-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px!important;font-size:12px!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.08em;padding:0 16px!important}
.dfgcartpremium-btn-secondary{background:#171717!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important}
.dfgcartpremium-empty{text-align:center;padding:20px 10px 8px}
.dfgcartpremium-empty-icon{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;background:linear-gradient(180deg,rgba(225,6,0,.2),rgba(225,6,0,.08));display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:700;border:1px solid rgba(225,6,0,.35)}
.dfgcartpremium-empty strong{display:block;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.dfgcartpremium-empty p{margin:0;color:var(--dfg-muted,#c9c6c6);font-size:13px;line-height:1.5}
body.dfgcartpremium-modal-open{overflow:hidden}
.dfgcartpremium-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.dfgcartpremium-modal{width:min(680px,100%);background:linear-gradient(180deg,#171717 0%,#101010 100%);border:1px solid rgba(255,255,255,.08);border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.45);padding:22px;position:relative;color:#fff;animation:dfgCartModalIn .24s ease}
.dfgcartpremium-modal-close{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:999px;border:1px solid rgba(255,255,255,.08);background:#151515;color:#fff;font-size:24px;line-height:1;cursor:pointer}
.dfgcartpremium-modal-close:hover{background:var(--dfg-red,#e10600);border-color:var(--dfg-red,#e10600)}
.dfgcartpremium-modal-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(225,6,0,.14);border:1px solid rgba(225,6,0,.26);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;margin-bottom:12px}
.dfgcartpremium-modal h3{margin:0 0 18px;font-size:28px;line-height:1.05;text-transform:uppercase}
.dfgcartpremium-modal-product{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.03);border-radius:18px}
.dfgcartpremium-modal-image{width:110px;height:110px;border-radius:16px;overflow:hidden;background:#0d0d0d;border:1px solid rgba(255,255,255,.06)}
.dfgcartpremium-modal-image img{width:100%;height:100%;object-fit:cover;display:block}
.dfgcartpremium-modal-info strong{display:block;font-size:16px;line-height:1.25;margin-bottom:8px;text-transform:uppercase}
.dfgcartpremium-modal-info div{color:#ddd;font-size:13px;line-height:1.5}
.dfgcartpremium-modal-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.dfgcartpremium-modal-summary > div{padding:14px 16px;border-radius:18px;background:#131313;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;gap:12px}
.dfgcartpremium-modal-summary span{font-size:12px;color:#d0d0d0;text-transform:uppercase;letter-spacing:.08em}
.dfgcartpremium-modal-summary strong{font-size:18px;color:#fff}
.dfgcartpremium-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dfgcartpremium-modal-actions .btn{min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px!important;text-transform:uppercase;font-weight:800;letter-spacing:.08em}
.dfgcartpremium-modal-actions .btn-secondary{background:#171717!important;border:1px solid rgba(255,255,255,.08)!important;color:#fff!important}
@keyframes dfgCartPulse{0%{transform:scale(1)}40%{transform:scale(1.18)}100%{transform:scale(1)}}
@keyframes dfgCartCountBump{0%{transform:scale(1)}35%{transform:scale(1.28)}100%{transform:scale(1)}}
@keyframes dfgCartModalIn{0%{opacity:0;transform:translateY(10px) scale(.98)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:767px){.dfgcartpremium-dropdown{right:-10px;width:min(360px,calc(100vw - 20px))}.dfgcartpremium-actions,.dfgcartpremium-modal-actions,.dfgcartpremium-modal-summary{grid-template-columns:1fr}.dfgcartpremium-modal-product{grid-template-columns:1fr}.dfgcartpremium-modal-image{width:100%;height:auto;aspect-ratio:1/1;max-width:140px}}


/* Cart page quantity restyle */
body#cart .cart-item .qty,
body#cart .cart-grid .qty,
body#cart .product-line-grid .qty{
  display:flex;
  align-items:center;
}
body#cart .cart-item .bootstrap-touchspin,
body#cart .cart-grid .bootstrap-touchspin,
body#cart .product-line-grid .bootstrap-touchspin,
body#cart .input-group.bootstrap-touchspin{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:92px!important;
  min-width:92px!important;
  max-width:92px!important;
  height:40px!important;
  padding:0 10px!important;
  background:#0f0f0f!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:14px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body#cart .cart-item .bootstrap-touchspin input,
body#cart .cart-grid .bootstrap-touchspin input,
body#cart .product-line-grid .bootstrap-touchspin input,
body#cart .input-group.bootstrap-touchspin input,
body#cart input.js-cart-line-product-quantity{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  outline:none!important;
  box-shadow:none!important;
  color:#fff!important;
  text-align:center!important;
  font-weight:700!important;
  appearance:textfield;
  -moz-appearance:textfield;
}
body#cart .cart-item .bootstrap-touchspin input::-webkit-outer-spin-button,
body#cart .cart-item .bootstrap-touchspin input::-webkit-inner-spin-button,
body#cart .cart-grid .bootstrap-touchspin input::-webkit-outer-spin-button,
body#cart .cart-grid .bootstrap-touchspin input::-webkit-inner-spin-button,
body#cart .product-line-grid .bootstrap-touchspin input::-webkit-outer-spin-button,
body#cart .product-line-grid .bootstrap-touchspin input::-webkit-inner-spin-button,
body#cart input.js-cart-line-product-quantity::-webkit-outer-spin-button,
body#cart input.js-cart-line-product-quantity::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}
body#cart .cart-item .bootstrap-touchspin .bootstrap-touchspin-up,
body#cart .cart-item .bootstrap-touchspin .bootstrap-touchspin-down,
body#cart .cart-grid .bootstrap-touchspin .bootstrap-touchspin-up,
body#cart .cart-grid .bootstrap-touchspin .bootstrap-touchspin-down,
body#cart .product-line-grid .bootstrap-touchspin .bootstrap-touchspin-up,
body#cart .product-line-grid .bootstrap-touchspin .bootstrap-touchspin-down,
body#cart .cart-item .bootstrap-touchspin .dfg-qty-btn,
body#cart .cart-grid .bootstrap-touchspin .dfg-qty-btn,
body#cart .product-line-grid .bootstrap-touchspin .dfg-qty-btn{
  display:none!important;
}


/* Cart page text color fixes */
body#cart .cart-item .product-line-info a,
body#cart .cart-item .product-line-info .label,
body#cart .cart-item .product-line-info .value,
body#cart .cart-item .product-line-info-name,
body#cart .cart-item .product-line-info-name a,
body#cart .cart-item .product-name,
body#cart .cart-item .product-name a,
body#cart .cart-item .label,
body#cart .product-line-grid .product-line-info a,
body#cart .product-line-grid .product-line-info-name a,
body#cart .product-line-grid .product-name a,
body#cart .js-cart-line-product-quantity,
body#cart .continue-shopping a,
body#cart .continue-shopping .label,
body#cart a.label,
body#cart .cart-grid a:not(.btn),
body#cart .cart-overview a:not(.btn){
  color:#c9c6c6!important;
}

body#cart .cart-item .product-line-info a:hover,
body#cart .cart-item .product-line-info-name a:hover,
body#cart .cart-item .product-name a:hover,
body#cart .product-line-grid .product-line-info a:hover,
body#cart .product-line-grid .product-line-info-name a:hover,
body#cart .product-line-grid .product-name a:hover,
body#cart .continue-shopping a:hover,
body#cart .continue-shopping .label:hover,
body#cart a.label:hover,
body#cart .cart-grid a:not(.btn):hover,
body#cart .cart-overview a:not(.btn):hover{
  color:var(--dfg-red,#e10600)!important;
}
