/* =========================================================
   Vegas Labs — cart drawer (Elementor popup "VL Cart Drawer")
   Not in Figma: built from the Request list page language (same parts, compact sizes).
   Layout: head · scrolling item list · sticky footer (totals + actions) · empty state.
   ========================================================= */

/* popup shell */
.elementor-popup-modal:has(.vl-drawer) .dialog-widget-content{height:100%;max-height:100vh;box-shadow:-24px 0 48px rgba(9,11,10,.10)}
.elementor-popup-modal:has(.vl-drawer) .dialog-message{height:100%;padding:0;overflow:hidden}
.elementor-popup-modal:has(.vl-drawer) .dialog-close-button{top:20px!important;right:20px!important;display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:0;border:1px solid var(--vl-border);border-radius:50%;background:transparent;color:var(--vl-ink);font-size:14px;transition:border-color .2s ease,background-color .2s ease}
.elementor-popup-modal:has(.vl-drawer) .dialog-close-button:hover,.elementor-popup-modal:has(.vl-drawer) .dialog-close-button:focus-visible{border-color:var(--vl-ink);background:var(--vl-ivory)}
.elementor-popup-modal:has(.vl-drawer) .dialog-close-button i{color:var(--vl-ink)}

.vl-drawer .elementor-widget-text-editor p{margin:0}
.vl-drawer{display:flex!important;flex-direction:column!important;height:100vh;height:100dvh;background:var(--vl-surf)}

/* until the first AJAX read, show only the loading note */
.vl-drawer:not(.is-loaded) .vl-cart-filled-only,.vl-drawer:not(.is-loaded) .vl-cart-empty-only{display:none!important}
.vl-drawer.is-loaded .vl-drawer__loading{display:none}
.vl-drawer__loading{padding:24px}
.vl-sec .vl-drawer__loading p,.vl-drawer__loading p{margin:0}

/* head */
.vl-drawer__head{flex:none!important;gap:12px!important;padding:30px 76px 22px 24px!important;border-bottom:1px solid var(--vl-line)}
:root .vl-drawer__title .elementor-heading-title{margin:0;font-family:"Geist",sans-serif;font-size:24px;line-height:32px;font-weight:500;letter-spacing:-.01em;color:var(--vl-ink)}
.vl-drawer__count{width:auto!important}
.vl-drawer__count p{margin:0}

/* scrolling list */
.vl-drawer__body{flex:1 1 auto!important;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 24px!important}
.vl-drawer .vl-cart-items{border-top:0}
.vl-drawer .vl-cart-item{grid-template-columns:72px minmax(0,1fr) auto;column-gap:16px;padding:20px 0}
.vl-drawer .vl-cart-item:last-child{border-bottom:0}
.vl-drawer .vl-cart-item__img{grid-row:1;width:72px;height:90px;border-radius:10px}
.vl-drawer .vl-cart-item__body{grid-column:2 / span 2;margin-top:0}
.vl-drawer .vl-cart-item__cat{margin:0;font-family:"Geist Mono",monospace;font-size:10px;line-height:14px;letter-spacing:.07em;text-transform:uppercase;color:var(--vl-mute)}
:root .vl-drawer .vl-cart-item__name{margin:2px 0 0;font-size:17px;line-height:22px}
.vl-drawer .vl-cart-item__meta{margin:3px 0 0;font-family:"Geist Mono",monospace;font-size:10.5px;line-height:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--vl-text);display:flex;flex-wrap:wrap}
.vl-drawer .vl-cart-item__meta i{width:auto;height:auto;margin:0 5px;background:none}
.vl-drawer .vl-cart-item__meta i::before{content:"·"}
.vl-drawer .vl-cart-item__meta .is-form + i{flex-basis:100%;height:0;margin:0}
.vl-drawer .vl-cart-item__meta .is-form + i::before{content:none}
.vl-drawer .vl-cart-item__meta .is-id,.vl-drawer .vl-cart-item__meta .is-id + i,.vl-drawer .vl-cart-item__meta .is-lot + i{display:none}
.vl-drawer .vl-cart-item__ruo{display:none}
.vl-drawer .vl-cart-item__actions{grid-column:1 / span 2;grid-row:2;align-self:start;margin-top:14px;gap:14px}
.vl-drawer .vl-cart-qty{height:38px;grid-template-columns:40px 30px 40px;padding-right:2px}
:root .vl-drawer .vl-cart-qty button,:root .vl-drawer .vl-cart-qty input{height:36px}
.vl-drawer .vl-cart-item__price{grid-column:3;grid-row:2;align-self:center;margin-top:14px}
.vl-drawer .vl-cart-item__price strong{font-size:17px;line-height:22px}
.vl-drawer .vl-cart-item__price > span{margin-top:2px;font-size:10px;line-height:14px}

/* footer */
.vl-drawer__foot{flex:none!important;padding:18px 24px 24px!important;border-top:1px solid var(--vl-line);background:var(--vl-surf)}
.vl-drawer .vl-cart-sum{margin:0;padding:0 0 12px;border-top:0}
.vl-drawer .vl-cart-sum__row + .vl-cart-sum__row{margin-top:6px}
.vl-drawer .vl-cart-sum dt{font-size:15px;line-height:22px}
.vl-drawer .vl-cart-sum dd{font-size:13px;line-height:22px}
.vl-drawer .vl-cart-sum--total{padding:12px 0 0;border-top:1px solid var(--vl-border)}
.vl-drawer .vl-cart-sum--total dt{font-size:17px}
.vl-drawer .vl-cart-sum--total dd{font-size:18px}
.vl-drawer__checkout{margin-top:16px}
.vl-drawer__view{margin-top:10px}
.vl-drawer__checkout .elementor-button,.vl-drawer__view .elementor-button{width:100%}
.vl-drawer__note{margin-top:14px;text-align:center}
.vl-drawer__note p{margin:0}

/* empty */
.vl-drawer__empty{flex:1 1 auto!important;align-items:center;justify-content:center;padding:32px 32px 48px!important;text-align:center}
.vl-drawer .vl-dial,.vl-drawer .vl-dial__svg{width:200px;height:200px}
:root .vl-drawer__empty-title .elementor-heading-title{margin:28px 0 0;font-family:"Geist",sans-serif;font-size:26px;line-height:32px;font-weight:500;letter-spacing:-.015em;color:var(--vl-ink)}
.vl-drawer__empty-lead{max-width:340px}
.vl-drawer__empty-lead p{margin:10px 0 0;font-size:15px;line-height:23px;color:var(--vl-text)}
.vl-drawer__explore{margin-top:28px}

@media (max-width:767px){
  .vl-drawer__head{padding:22px 72px 18px 20px!important}
  .vl-drawer__body{padding:0 20px!important}
  .vl-drawer__foot{padding:16px 20px 20px!important}
  .elementor-popup-modal:has(.vl-drawer) .dialog-close-button{top:16px!important;right:16px!important}
}
@media (prefers-reduced-motion:reduce){.elementor-popup-modal:has(.vl-drawer) .dialog-widget-content{animation-duration:.01s!important}}
