/* Vanity v0.85: a calm, unobtrusive overlay. Kept separate from heritage theme CSS. */
body.vbag-open{overflow:hidden!important}
.vbag-root[hidden]{display:none!important}
.vbag-root{position:fixed;inset:0;z-index:2147483000;display:flex;justify-content:flex-end;font-family:'DM Sans',Arial,sans-serif;color:#3d3233}
.vbag-shade{position:absolute;inset:0;width:100%;height:100%;border:0;background:rgba(25,19,21,.36);cursor:pointer;animation:vbag-fade .2s ease-out}
.vbag-panel{position:relative;display:flex;flex-direction:column;width:min(450px,100%);height:100%;height:100dvh;max-height:100%;background:#fffdfb;box-shadow:-16px 0 55px rgba(25,19,21,.14);outline:0;animation:vbag-enter .27s cubic-bezier(.2,.7,.1,1);overscroll-behavior:contain}
.vbag-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:clamp(23px,4vw,31px) clamp(21px,4vw,30px) 20px;border-bottom:1px solid #ebdfda}
.vbag-heading h2{margin:2px 0 0;color:#332729;font:500 clamp(31px,3vw,37px)/1.07 'Cormorant Garamond',Georgia,serif}
.vbag-eyebrow{font:600 10px/1.6 'DM Sans',Arial,sans-serif;letter-spacing:.18em;color:#94766f}
.vbag-count{display:block;margin-top:9px;font-size:12px;color:#7c6b66}
.vbag-close{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #e9ded9;border-radius:50%;background:#faf4f0;color:#514040;font-size:28px;line-height:1;cursor:pointer}
.vbag-close:hover,.vbag-close:focus-visible{background:#f1e5df}
.vbag-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px clamp(21px,4vw,30px)}
.vbag-line{display:grid;grid-template-columns:93px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid #efe6e2}
.vbag-line-image{width:93px;aspect-ratio:4/5;overflow:hidden;border-radius:9px;background:#f5efeb}
.vbag-line-image img{width:100%;height:100%;object-fit:contain}
.vbag-line-info{min-width:0}
.vbag-line-title{margin:0 0 5px;font:500 20px/1.15 'Cormorant Garamond',Georgia,serif;overflow-wrap:anywhere}
.vbag-line-variant{margin:0 0 9px;font-size:12px;line-height:1.5;color:#7c6b66;overflow-wrap:anywhere}
.vbag-line-price{display:block;margin-bottom:13px;font-size:13px;letter-spacing:.01em}
.vbag-line-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.vbag-qty{display:flex;align-items:center;border:1px solid #e3d5ce;border-radius:6px;min-height:40px}
.vbag-qty button{border:0;background:transparent;font-size:19px;width:39px;height:39px;cursor:pointer;color:#483636}
.vbag-qty button:disabled{cursor:not-allowed;opacity:.3}
.vbag-qty span{min-width:27px;text-align:center;font-size:13px}
.vbag-remove{border:0;background:transparent;color:#8e6f68;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:12px;min-height:40px}
.vbag-footer{padding:18px clamp(21px,4vw,30px) max(20px,env(safe-area-inset-bottom));border-top:1px solid #ebdfda;background:#fffdfb}
.vbag-subtotal{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}
.vbag-subtotal strong{font-size:20px;font-weight:600}
.vbag-shipping-note,.vbag-preview-warning{font-size:11px;line-height:1.6;color:#796d67;margin:8px 0 14px}
.vbag-checkout{width:100%;border:0;border-radius:7px;min-height:52px;color:white;background:#584548;font-weight:600;letter-spacing:.02em}
.vbag-checkout:disabled{opacity:.68;cursor:not-allowed}
.vbag-preview-warning{margin:10px 0 0;text-align:center;color:#976c60}
.vbag-footer-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px}
.vbag-continue,.vbag-view{border:0;background:none;color:#5d4946;font:600 12px/1.5 'DM Sans',Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:8px 0;min-height:44px}
.vbag-empty{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:260px;gap:7px;color:#675452}
.vbag-empty-icon{font:40px Georgia,serif;color:#ba9c94}.vbag-empty h3{margin:0;font:500 26px 'Cormorant Garamond',serif}.vbag-empty p{margin:0;font-size:12px}
@keyframes vbag-fade{from{opacity:0}to{opacity:1}}@keyframes vbag-enter{from{transform:translateX(20px);opacity:.7}to{transform:translateX(0);opacity:1}}
@media(max-width:600px){.vbag-root{align-items:flex-end}.vbag-panel{width:100%;height:auto;max-height:90vh;max-height:90dvh;border-radius:19px 19px 0 0;animation:vbag-up .25s cubic-bezier(.2,.7,.1,1)}.vbag-header{padding-top:22px}.vbag-list{min-height:110px}.vbag-line{grid-template-columns:78px minmax(0,1fr)}.vbag-line-image{width:78px}.vbag-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}}@media(max-width:350px){.vbag-header,.vbag-list,.vbag-footer{padding-left:15px;padding-right:15px}.vbag-line{gap:10px}}
@keyframes vbag-up{from{transform:translateY(30px);opacity:.7}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.vbag-shade,.vbag-panel{animation:none!important}}

body.vbag-open #vanity-local-preview-banner{display:none!important}

