.vcart { box-sizing:border-box; position:fixed; inset:12px 12px 12px auto; margin:0; width:min(460px,calc(100% - 24px)); max-width:none; max-height:calc(100dvh - 24px); height:calc(100dvh - 24px); padding:clamp(1rem,3vw,1.5rem); border:1px solid var(--wp--preset--color--arena); border-radius:22px; background:var(--wp--preset--color--blanco); color:var(--wp--preset--color--negro); font-family:var(--wp--preset--font-family--body); overflow:auto; }
.vcart[open] { display:flex; flex-direction:column; gap:1rem; }
.vcart *, .vcart *::before { box-sizing:border-box; }
.vcart::backdrop { background:color-mix(in srgb,var(--wp--preset--color--negro) 40%,transparent); }
.vcart-open { overflow:hidden; }
.vcart button,.vcart a { font:inherit; color:inherit; }
.vcart button { cursor:pointer; min-width:44px; min-height:44px; border:0; border-radius:12px; background:var(--wp--preset--color--beige); }
.vcart button:disabled { opacity:.4; cursor:default; }
.vcart :is(a,button):focus-visible { outline:2px solid var(--wp--preset--color--arcilla); outline-offset:3px; }
.vcart__top { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem; border-radius:14px; background:var(--wp--preset--color--beige); }
.vcart h2 { margin:0; font:400 1.25rem/1.4 var(--wp--preset--font-family--heading); color:inherit; }
.vcart p { margin:0; font-weight:200; line-height:1.5; letter-spacing:.025em; }
.vcart__status:empty { display:none; }
.vcart__items { display:grid; gap:1.25rem; }
.vcart__item { display:grid; grid-template-columns:72px minmax(0,1fr); gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--wp--preset--color--arena); }
.vcart__item img { width:72px; height:90px; object-fit:cover; border-radius:12px; }
.vcart__copy { min-width:0; overflow-wrap:anywhere; }
.vcart__name { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.vcart__quantity { display:inline-flex; align-items:center; gap:.5rem; margin-top:.5rem; }
.vcart__remove { margin-left:.5rem; font-size:.8rem!important; padding:.5rem; }
.vcart__bottom { margin-top:auto; border-top:1px solid var(--wp--preset--color--arena); padding-top:1rem; }
.vcart__bottom[hidden] { display:none; }
.vcart__subtotal { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin-bottom:.75rem!important; }
.vcart__bottom > p:not(.vcart__subtotal) { font-size:.8125rem; }
.vcart__checkout,.vcart__view,.vcart__browse { display:flex; justify-content:center; align-items:center; min-height:48px; padding:.75rem; text-align:center; overflow-wrap:anywhere; }
.vcart a.vcart__checkout { border-radius:99px; background:var(--wp--preset--color--arcilla); color:var(--wp--preset--color--blanco); text-decoration:none; margin-top:1rem; }
.vcart__browse { font-size:.875rem!important; }

/* Compact type is explicit so global page typography cannot enlarge the drawer. */
.vcart { font-size:.875rem; line-height:1.4; padding:1rem; }
.vcart[open] { gap:.75rem; animation:vcart-enter 420ms cubic-bezier(.22,1,.36,1) both; }
.vcart[open]::backdrop { animation:vcart-backdrop-in 350ms ease both; }
.vcart[open].is-closing { animation:vcart-exit 220ms ease-in both; pointer-events:none; }
.vcart[open].is-closing::backdrop { animation:vcart-backdrop-out 220ms ease-in both; }
.vcart .vcart__top { padding:.35rem .65rem; }
.vcart .vcart__top h2 { font-size:1.0625rem; }
.vcart .vcart__top button { font-size:1.25rem; padding:0; }
.vcart .vcart__items { gap:.75rem; }
.vcart .vcart__item { grid-template-columns:56px minmax(0,1fr); gap:.75rem; padding-bottom:.75rem; }
.vcart .vcart__item img { width:56px; height:70px; border-radius:8px; }
.vcart .vcart__name { font-size:.875rem; line-height:1.3; font-weight:400; }
.vcart .vcart__copy p { font-size:.8125rem; line-height:1.4; }
.vcart .vcart__quantity { gap:.25rem; margin-top:.25rem; font-size:.8125rem; }
.vcart .vcart__quantity button { font-size:1rem; padding:0; }
.vcart .vcart__remove { margin-left:.25rem; padding:.35rem; font-size:.75rem!important; background:transparent; text-decoration:underline; text-underline-offset:.2em; }
.vcart .vcart__bottom { padding-top:.75rem; }
.vcart .vcart__subtotal { font-size:.9375rem; margin-bottom:.5rem!important; }
.vcart .vcart__subtotal strong { font-weight:400; }
.vcart .vcart__bottom > p:not(.vcart__subtotal) { font-size:.75rem; line-height:1.4; }
.vcart .vcart__checkout,.vcart .vcart__view { font-size:.875rem; min-height:44px; padding:.5rem .75rem; }
.vcart a.vcart__checkout { margin-top:.65rem; }
.vcart .vcart__browse { font-size:.75rem!important; min-height:44px; padding:.5rem; }
@keyframes vcart-enter { from { opacity:0; transform:translateX(28px); } to { opacity:1; transform:translateX(0); } }
@keyframes vcart-exit { to { opacity:0; transform:translateX(20px); } }
@keyframes vcart-backdrop-in { from { opacity:0; } to { opacity:1; } }
@keyframes vcart-backdrop-out { from { opacity:1; } to { opacity:0; } }
@media(prefers-reduced-motion:reduce) { .vcart[open],.vcart[open]::backdrop,.vcart[open].is-closing,.vcart[open].is-closing::backdrop { animation:none; } }

/* A single, aligned summary and action group. */
.vcart .vcart__bottom { display:grid; gap:.65rem; }
.vcart .vcart__bottom[hidden] { display:none; }
.vcart .vcart__subtotal { align-items:baseline; margin:0!important; }
.vcart .vcart__actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; margin-top:.25rem; }
.vcart .vcart__actions a { min-width:0; margin:0; padding:.6rem .5rem; border-radius:12px; font-size:.8125rem; line-height:1.35; text-decoration:none; }
.vcart .vcart__actions .vcart__view { background:var(--wp--preset--color--beige); border:1px solid var(--wp--preset--color--arena); }
.vcart .vcart__browse { margin:0; padding:.25rem .5rem; text-underline-offset:.2em; }

.vcart .vcart__top button[data-cart-close] { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; line-height:1; }
.vcart .vcart__top button[data-cart-close] svg { display:block; width:20px; height:20px; margin:0; }
