/* Tía Vicenta v459 · Empanadas y carrito optimizados */

html{
  --tv458-accent:#ff9518;
  --tv458-accent-strong:#e96f00;
  --tv458-accent-soft:#fff1df;
  --tv458-surface:#ffffff;
  --tv458-surface-2:#fff8ef;
  --tv458-surface-3:#fff1e2;
  --tv458-text:#171722;
  --tv458-muted:#71675e;
  --tv458-line:rgba(74,45,20,.14);
  --tv458-line-strong:rgba(255,149,24,.42);
  --tv458-success:#188a4b;
  --tv458-danger:#d94a4a;
  --tv458-shadow:0 24px 70px rgba(49,28,9,.18);
}

html[data-theme="dark"]{
  --tv458-accent:#ffad3d;
  --tv458-accent-strong:#ff8617;
  --tv458-accent-soft:#392518;
  --tv458-surface:#211a16;
  --tv458-surface-2:#181310;
  --tv458-surface-3:#2d221b;
  --tv458-text:#fff8ef;
  --tv458-muted:#d2c0ae;
  --tv458-line:rgba(255,230,196,.15);
  --tv458-line-strong:rgba(255,173,61,.42);
  --tv458-success:#62dc96;
  --tv458-danger:#ff8585;
  --tv458-shadow:0 28px 80px rgba(0,0,0,.55);
}

button,
[role="button"]{
  -webkit-tap-highlight-color:transparent;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--tv458-accent) 54%, transparent);
  outline-offset:2px;
}

/* Renderizado progresivo del catálogo fuera de pantalla. */
.category{
  content-visibility:auto;
  contain-intrinsic-size:680px;
}

.product.compact-product{
  contain:layout paint style;
}

/* Modal de empanadas */
html body #productModal[data-type="empanadas"]{
  --surface:var(--tv458-surface);
  --surface2:var(--tv458-surface-2);
  --card:var(--tv458-surface);
  --text:var(--tv458-text);
  --muted:var(--tv458-muted);
  --line:var(--tv458-line);
  --accent:var(--tv458-accent);
  --accent2:var(--tv458-accent-strong);
}

html body #productModal[data-type="empanadas"] .modal-card{
  width:min(980px,calc(100vw - 32px))!important;
  height:min(900px,calc(100dvh - 32px))!important;
  max-height:calc(100dvh - 32px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  border:1px solid var(--tv458-line)!important;
  border-radius:28px!important;
  background:linear-gradient(180deg,var(--tv458-surface),var(--tv458-surface-2))!important;
  color:var(--tv458-text)!important;
  box-shadow:var(--tv458-shadow)!important;
}

html body #productModal[data-type="empanadas"] .modal-head{
  min-height:82px!important;
  padding:14px 18px!important;
  border-bottom:1px solid var(--tv458-line)!important;
  background:color-mix(in srgb,var(--tv458-surface) 94%, transparent)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

html body #productModal[data-type="empanadas"] .modal-product{
  min-width:0;
  align-items:center!important;
}

html body #productModal[data-type="empanadas"] .modal-img{
  width:54px!important;
  height:54px!important;
  border-radius:16px!important;
  object-fit:cover!important;
  background:#fff7eb!important;
  border:1px solid var(--tv458-line)!important;
}

html body #productModal[data-type="empanadas"] .modal-head h3{
  margin:2px 0 0!important;
  color:var(--tv458-text)!important;
  font-size:clamp(22px,3vw,30px)!important;
  letter-spacing:-.04em!important;
}

html body #productModal[data-type="empanadas"] .modal-sub,
html body #productModal[data-type="empanadas"] .kicker{
  color:var(--tv458-muted)!important;
}

html body #productModal[data-type="empanadas"] #modalCloseBtn{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  border-radius:14px!important;
  border:1px solid var(--tv458-line)!important;
  background:var(--tv458-surface-3)!important;
  color:var(--tv458-text)!important;
  font-size:28px!important;
}

html body #productModal[data-type="empanadas"] .modal-body{
  min-height:0!important;
  padding:0!important;
  overflow:hidden!important;
  overscroll-behavior:contain;
  background:transparent!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-builder{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(270px,320px) minmax(0,1fr);
  gap:0;
  overflow:hidden;
}

html body #productModal[data-type="empanadas"] .tv-emp-section{
  min-width:0;
  min-height:0;
}

html body #productModal[data-type="empanadas"] .tv-emp-section-pack{
  padding:18px;
  overflow:auto;
  border-right:1px solid var(--tv458-line);
  background:
    radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--tv458-accent) 15%,transparent),transparent 42%),
    var(--tv458-surface-2);
}

html body #productModal[data-type="empanadas"] .tv-emp-section-flavors{
  min-height:0;
  display:grid;
  grid-template-rows:auto auto auto minmax(0,1fr);
  overflow:hidden;
  background:var(--tv458-surface);
}

html body #productModal[data-type="empanadas"] .tv-emp-section-flavors > .tv-emp-section-head{
  padding:18px 18px 10px;
}

html body #productModal[data-type="empanadas"] .tv-emp-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

html body #productModal[data-type="empanadas"] .tv-emp-section-head h4{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0!important;
  color:var(--tv458-text)!important;
  font-size:17px!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-section-head h4 > span{
  width:28px;
  height:28px;
  display:inline-grid;
  place-items:center;
  flex:none;
  border-radius:10px;
  background:linear-gradient(180deg,var(--tv458-accent),var(--tv458-accent-strong));
  color:#201006;
  font-size:14px;
  font-weight:1000;
}

html body #productModal[data-type="empanadas"] .tv-emp-section-head p{
  margin:5px 0 0!important;
  color:var(--tv458-muted)!important;
  font-size:12.5px!important;
  line-height:1.3!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-pill{
  flex:none;
  max-width:130px;
  padding:7px 10px;
  border:1px solid var(--tv458-line);
  border-radius:999px;
  background:var(--tv458-surface);
  color:var(--tv458-muted);
  font-size:11px;
  font-weight:900;
  line-height:1.15;
  text-align:center;
}

html body #productModal[data-type="empanadas"] .tv-emp-pill.is-ok{
  border-color:color-mix(in srgb,var(--tv458-success) 38%,transparent);
  background:color-mix(in srgb,var(--tv458-success) 12%,var(--tv458-surface));
  color:var(--tv458-success);
}

html body #productModal[data-type="empanadas"] .tv-emp-packs{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin-top:16px;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack{
  width:100%;
  min-height:84px;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr) 28px!important;
  align-items:center;
  gap:11px;
  padding:12px!important;
  border:1px solid var(--tv458-line)!important;
  border-radius:20px!important;
  background:var(--tv458-surface)!important;
  color:var(--tv458-text)!important;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
  touch-action:manipulation;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack:hover{
  border-color:var(--tv458-line-strong)!important;
  transform:translateY(-1px);
}

html body #productModal[data-type="empanadas"] .tv-emp-pack:active{
  transform:scale(.985);
}

html body #productModal[data-type="empanadas"] .tv-emp-pack.is-selected{
  border-color:var(--tv458-accent)!important;
  background:linear-gradient(135deg,color-mix(in srgb,var(--tv458-accent) 18%,var(--tv458-surface)),var(--tv458-surface))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tv458-accent) 16%,transparent),0 12px 28px color-mix(in srgb,var(--tv458-accent) 16%,transparent)!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:var(--tv458-accent-soft);
  font-size:24px;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack-main{
  min-width:0;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:baseline;
  column-gap:7px;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack-main b{
  color:var(--tv458-text)!important;
  font-size:28px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack-main > span{
  color:var(--tv458-text)!important;
  font-size:13px!important;
  font-weight:900!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack-main small{
  grid-column:1 / -1;
  margin-top:4px;
  color:var(--tv458-muted)!important;
  font-size:11px!important;
  font-weight:750!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack-check{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border:1px solid var(--tv458-line);
  border-radius:999px;
  color:transparent;
  background:var(--tv458-surface-2);
  font-weight:1000;
}

html body #productModal[data-type="empanadas"] .tv-emp-pack.is-selected .tv-emp-pack-check{
  border-color:transparent;
  background:linear-gradient(180deg,var(--tv458-accent),var(--tv458-accent-strong));
  color:#201006;
}

html body #productModal[data-type="empanadas"] .tv-emp-toolbar{
  display:grid;
  gap:9px;
  padding:0 18px 10px;
}

html body #productModal[data-type="empanadas"] .tv-emp-search{
  min-height:46px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 38px;
  align-items:center;
  gap:5px;
  padding:4px 5px 4px 12px;
  border:1px solid var(--tv458-line);
  border-radius:15px;
  background:var(--tv458-surface-2);
  color:var(--tv458-muted);
}

html body #productModal[data-type="empanadas"] .tv-emp-search:focus-within{
  border-color:var(--tv458-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tv458-accent) 14%,transparent);
}

html body #productModal[data-type="empanadas"] .tv-emp-search > span{
  font-size:21px;
  font-weight:900;
  line-height:1;
}

html body #productModal[data-type="empanadas"] .tv-emp-search input{
  width:100%;
  min-width:0;
  height:38px;
  padding:0;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:var(--tv458-text)!important;
  font:inherit;
  font-size:14px;
  font-weight:750;
}

html body #productModal[data-type="empanadas"] .tv-emp-search input::-webkit-search-cancel-button{
  display:none;
}

html body #productModal[data-type="empanadas"] .tv-emp-search button{
  width:36px;
  height:36px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:var(--tv458-muted);
  font-size:24px;
  cursor:pointer;
}

html body #productModal[data-type="empanadas"] .tv-emp-filters{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:1px 1px 3px;
  scrollbar-width:none;
}

html body #productModal[data-type="empanadas"] .tv-emp-filters::-webkit-scrollbar{
  display:none;
}

html body #productModal[data-type="empanadas"] .tv-emp-filters button{
  min-height:38px;
  padding:0 12px;
  flex:none;
  border:1px solid var(--tv458-line);
  border-radius:999px;
  background:var(--tv458-surface);
  color:var(--tv458-muted);
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  touch-action:manipulation;
}

html body #productModal[data-type="empanadas"] .tv-emp-filters button.is-active{
  border-color:var(--tv458-accent);
  background:var(--tv458-accent-soft);
  color:var(--tv458-text);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-panel{
  min-width:0;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:0 18px 10px;
  padding:9px;
  border:1px solid var(--tv458-line);
  border-radius:17px;
  background:linear-gradient(135deg,var(--tv458-surface-2),var(--tv458-surface));
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-panel.has-items{
  border-color:var(--tv458-line-strong);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-meter{
  width:62px;
  height:54px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  border-radius:13px;
  background:var(--tv458-accent-soft);
  color:var(--tv458-text);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-meter b{
  font-size:25px;
  line-height:1;
  letter-spacing:-.05em;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-meter span{
  font-size:11px;
  font-weight:900;
  color:var(--tv458-muted);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-meter.is-ok{
  background:color-mix(in srgb,var(--tv458-success) 14%,var(--tv458-surface));
  color:var(--tv458-success);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-copy{
  min-width:0;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-copy > strong{
  display:block;
  margin-bottom:5px;
  color:var(--tv458-text);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chips{
  min-width:0;
  display:flex;
  gap:6px;
  overflow-x:auto;
  padding-bottom:1px;
  scrollbar-width:none;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chips::-webkit-scrollbar{
  display:none;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chip{
  max-width:220px;
  min-height:32px;
  display:grid;
  grid-template-columns:22px 18px minmax(0,1fr);
  align-items:center;
  gap:4px;
  flex:none;
  padding:4px 8px 4px 5px;
  border:1px solid var(--tv458-line);
  border-radius:999px;
  background:var(--tv458-surface);
  color:var(--tv458-text);
  cursor:pointer;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chip b{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--tv458-accent);
  color:#201006;
  font-size:11px;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chip em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10.5px;
  font-style:normal;
  font-weight:800;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-empty{
  color:var(--tv458-muted);
  font-size:12px;
  font-weight:750;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavors-wrap{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
  padding:0 18px 18px;
  touch-action:pan-y;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavors{
  display:grid;
  gap:14px;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-group{
  display:grid;
  gap:7px;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-group[hidden],
html body #productModal[data-type="empanadas"] .tv-emp-flavor[hidden]{
  display:none!important;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-group-head{
  position:sticky;
  top:0;
  z-index:3;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 5px;
  background:color-mix(in srgb,var(--tv458-surface) 94%,transparent);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-group-head h5{
  margin:0;
  color:var(--tv458-text);
  font-size:14px;
  letter-spacing:-.01em;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-group-head p{
  margin:2px 0 0;
  color:var(--tv458-muted);
  font-size:10.5px;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-group-head > span{
  min-width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--tv458-surface-3);
  color:var(--tv458-muted);
  font-size:11px;
  font-weight:900;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-group-list{
  display:grid;
  gap:7px;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor{
  min-height:62px;
  display:grid;
  grid-template-columns:34px 38px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px 9px;
  border:1px solid var(--tv458-line);
  border-radius:17px;
  background:var(--tv458-surface-2);
  color:var(--tv458-text);
  transition:border-color .14s ease,background .14s ease,box-shadow .14s ease,transform .14s ease;
  cursor:pointer;
  contain:layout paint style;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor:hover{
  border-color:var(--tv458-line-strong);
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor:active{
  transform:scale(.992);
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor.is-selected{
  border-color:var(--tv458-accent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--tv458-accent) 12%,var(--tv458-surface)),var(--tv458-surface));
  box-shadow:0 7px 20px color-mix(in srgb,var(--tv458-accent) 11%,transparent);
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor.tv-emp-flavor-focus{
  animation:tv458FlavorFocus .7s ease;
}

@keyframes tv458FlavorFocus{
  0%,100%{box-shadow:none}
  45%{box-shadow:0 0 0 4px color-mix(in srgb,var(--tv458-accent) 28%,transparent)}
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-check{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--tv458-line);
  border-radius:11px;
  background:var(--tv458-surface);
  color:var(--tv458-text);
  font-size:12px;
  font-weight:1000;
  cursor:pointer;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor.is-selected .tv-emp-flavor-check{
  border-color:transparent;
  background:linear-gradient(180deg,var(--tv458-accent),var(--tv458-accent-strong));
  color:#201006;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-emoji{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--tv458-surface);
  font-size:20px;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-copy{
  min-width:0;
  display:grid;
  gap:3px;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-name{
  min-width:0;
  color:var(--tv458-text);
  font-size:13px;
  line-height:1.16;
  font-weight:850;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-price{
  color:var(--tv458-muted);
  font-size:10.5px;
  font-weight:750;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-actions{
  display:grid;
  grid-template-columns:42px 31px 42px;
  align-items:center;
  gap:4px;
}

html body #productModal[data-type="empanadas"] .tv-emp-step{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--tv458-line);
  border-radius:13px;
  background:var(--tv458-surface);
  color:var(--tv458-text);
  font-size:24px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  touch-action:manipulation;
}

html body #productModal[data-type="empanadas"] .tv-emp-step.tv-emp-plus{
  border-color:transparent;
  background:linear-gradient(180deg,var(--tv458-accent),var(--tv458-accent-strong));
  color:#201006;
}

html body #productModal[data-type="empanadas"] .tv-emp-step:disabled{
  opacity:.35;
  cursor:not-allowed;
  filter:saturate(.5);
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-actions > strong{
  color:var(--tv458-text);
  font-size:15px;
  text-align:center;
}

html body #productModal[data-type="empanadas"] .tv-emp-no-results{
  padding:30px 20px;
  border:1px dashed var(--tv458-line);
  border-radius:18px;
  background:var(--tv458-surface-2);
  text-align:center;
}

html body #productModal[data-type="empanadas"] .tv-emp-no-results b,
html body #productModal[data-type="empanadas"] .tv-emp-no-results span{
  display:block;
}

html body #productModal[data-type="empanadas"] .tv-emp-no-results b{
  color:var(--tv458-text);
  font-size:15px;
}

html body #productModal[data-type="empanadas"] .tv-emp-no-results span{
  margin-top:5px;
  color:var(--tv458-muted);
  font-size:12px;
}

html body #productModal[data-type="empanadas"] .modal-foot{
  min-height:82px!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:12px 18px!important;
  border-top:1px solid var(--tv458-line)!important;
  background:color-mix(in srgb,var(--tv458-surface) 96%,transparent)!important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

html body #productModal[data-type="empanadas"] .modal-total{
  min-width:120px;
}

html body #productModal[data-type="empanadas"] .modal-total small{
  color:var(--tv458-muted)!important;
}

html body #productModal[data-type="empanadas"] #modalTotal{
  color:var(--tv458-text)!important;
  font-size:22px!important;
}

html body #productModal[data-type="empanadas"] .modal-actions{
  min-width:0;
  display:grid!important;
  grid-template-columns:minmax(110px,.45fr) minmax(220px,1fr)!important;
  gap:9px!important;
}

html body #productModal[data-type="empanadas"] .modal-actions .btn{
  min-height:50px!important;
  border-radius:15px!important;
  font-size:13px!important;
  font-weight:950!important;
  touch-action:manipulation;
}

html body #productModal[data-type="empanadas"] #modalAddBtn{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  background:linear-gradient(180deg,var(--tv458-accent),var(--tv458-accent-strong))!important;
  color:#201006!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--tv458-accent) 22%,transparent)!important;
}

html body #productModal[data-type="empanadas"] #modalAddBtn:disabled{
  background:var(--tv458-surface-3)!important;
  color:var(--tv458-muted)!important;
  box-shadow:none!important;
  opacity:.82!important;
}

/* Carrito */
html body #cartDrawer .drawer-head-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

html body #cartDrawer .cart-clear-btn{
  min-height:42px;
  padding:0 13px;
  border:1px solid var(--tv-cart-line,var(--tv458-line));
  border-radius:13px;
  background:var(--tv-cart-surface-3,var(--tv458-surface-3));
  color:var(--tv-cart-danger,var(--tv458-danger));
  font-size:12px;
  font-weight:900;
  cursor:pointer;
}

html body #cartDrawer .cart-clear-btn[hidden]{
  display:none!important;
}

html body #cartDrawer .icon-btn,
html body #cartDrawer .cart-remove-icon,
html body #cartDrawer .qty-control button,
html body #cartDrawer .cart-addon-pro-control button{
  min-width:44px!important;
  min-height:44px!important;
  touch-action:manipulation;
}

html body #cartDrawer .cart-item{
  contain:layout paint style;
}

html body #cartDrawer .cart-details{
  max-height:118px;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  line-height:1.38!important;
}

html body #cartDrawer .field.has-error label{
  color:var(--tv-cart-danger,var(--tv458-danger))!important;
}

html body #cartDrawer .field.has-error .input,
html body #cartDrawer .field.has-error .textarea,
html body #cartDrawer [aria-invalid="true"]{
  border-color:var(--tv-cart-danger,var(--tv458-danger))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tv-cart-danger,var(--tv458-danger)) 14%,transparent)!important;
}

html body #cartDrawer[data-step="2"] #cartItems,
html body #cartDrawer[data-step="2"] #cartAddonsV409,
html body #cartDrawer[data-step="3"] #cartItems,
html body #cartDrawer[data-step="3"] #cartAddonsV409{
  display:none!important;
}

html body #cartDrawer[data-step="2"] .drawer-body,
html body #cartDrawer[data-step="3"] .drawer-body{
  padding-top:12px!important;
}

html body #cartDrawer .drawer-foot .btn{
  min-height:52px!important;
  border-radius:16px!important;
  touch-action:manipulation;
}

html body #cartDrawer #continueBtn,
html body #cartDrawer #checkoutBtn{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  column-gap:12px!important;
  text-align:left!important;
}

html body #cartDrawer #continueBtn > span,
html body #cartDrawer #checkoutBtn > span{
  grid-column:1;
  grid-row:1;
}

html body #cartDrawer #continueBtn > small,
html body #cartDrawer #checkoutBtn > small{
  grid-column:1;
  grid-row:2;
}

html body #cartDrawer #continueBtn > b,
html body #cartDrawer #checkoutBtn > b{
  grid-column:2;
  grid-row:1 / span 2;
  font-size:22px;
}

html body #cartDrawer .cart-addons-pro-list{
  overscroll-behavior:contain;
}

@media (max-width:760px){
  html body #productModal[data-type="empanadas"]{
    align-items:flex-end!important;
    padding:0!important;
  }

  html body #productModal[data-type="empanadas"] .modal-card{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
    border-radius:0!important;
    border:0!important;
  }

  html body #productModal[data-type="empanadas"] .modal-head{
    min-height:70px!important;
    padding:9px 12px!important;
  }

  html body #productModal[data-type="empanadas"] .modal-img{
    width:46px!important;
    height:46px!important;
    border-radius:14px!important;
  }

  html body #productModal[data-type="empanadas"] .modal-sub{
    max-width:230px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:11px!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-builder{
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
  }

  html body #productModal[data-type="empanadas"] .tv-emp-section-pack{
    padding:10px 12px;
    overflow:visible;
    border-right:0;
    border-bottom:1px solid var(--tv458-line);
  }

  html body #productModal[data-type="empanadas"] .tv-emp-section-pack .tv-emp-section-head p{
    display:none;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-packs{
    grid-template-columns:1fr 1fr 1fr!important;
    gap:6px!important;
    margin-top:9px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pack{
    min-height:66px;
    grid-template-columns:1fr 20px!important;
    grid-template-rows:auto auto!important;
    gap:2px 4px;
    padding:8px!important;
    border-radius:15px!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pack-icon{
    display:none;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pack-main{
    grid-column:1;
    grid-row:1 / span 2;
    display:block;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pack-main b{
    display:block;
    font-size:22px!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pack-main > span{
    display:block;
    margin-top:1px;
    font-size:10px!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pack-main small{
    display:block;
    margin-top:3px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:8.5px!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pack-check{
    grid-column:2;
    grid-row:1;
    width:20px;
    height:20px;
    font-size:10px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-section-flavors > .tv-emp-section-head{
    padding:10px 12px 7px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-section-flavors > .tv-emp-section-head p{
    font-size:11px!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-toolbar{
    padding:0 12px 8px;
    gap:7px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-search{
    min-height:43px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-filters button{
    min-height:35px;
    padding:0 10px;
    font-size:11px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-selected-panel{
    grid-template-columns:54px minmax(0,1fr);
    margin:0 12px 8px;
    padding:7px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-selected-meter{
    width:54px;
    height:48px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavors-wrap{
    padding:0 12px 12px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor{
    min-height:60px;
    grid-template-columns:32px 34px minmax(0,1fr) auto;
    gap:7px;
    padding:7px;
    border-radius:15px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor-check{
    width:32px;
    height:32px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor-emoji{
    width:34px;
    height:34px;
    font-size:18px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor-name{
    font-size:12px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor-actions{
    grid-template-columns:40px 26px 40px;
    gap:2px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-step{
    width:40px;
    height:40px;
  }

  html body #productModal[data-type="empanadas"] .modal-foot{
    min-height:76px!important;
    grid-template-columns:92px minmax(0,1fr)!important;
    gap:8px!important;
    padding:9px 12px max(9px,env(safe-area-inset-bottom))!important;
  }

  html body #productModal[data-type="empanadas"] .modal-total{
    min-width:0;
  }

  html body #productModal[data-type="empanadas"] #modalTotal{
    font-size:17px!important;
  }

  html body #productModal[data-type="empanadas"] .modal-actions{
    grid-template-columns:82px minmax(0,1fr)!important;
    gap:6px!important;
  }

  html body #productModal[data-type="empanadas"] .modal-actions .btn{
    min-height:48px!important;
    padding:0 9px!important;
    font-size:11px!important;
  }

  html body #productModal[data-type="empanadas"] #modalAddBtn{
    font-size:10.5px!important;
  }

  html body #cartDrawer{
    width:100%!important;
    max-width:100%!important;
  }

  html body #cartDrawer .drawer-head{
    padding-left:14px!important;
    padding-right:14px!important;
  }

  html body #cartDrawer .cart-clear-btn{
    min-height:40px;
    padding:0 10px;
  }
}

@media (max-width:410px){
  html body #productModal[data-type="empanadas"] .modal-sub{
    display:none!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-section-head h4{
    font-size:15px!important;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-section-head h4 > span{
    width:25px;
    height:25px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-pill{
    max-width:105px;
    padding:6px 8px;
    font-size:9.5px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor{
    grid-template-columns:30px minmax(0,1fr) auto;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor-emoji{
    display:none;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-flavor-actions{
    grid-template-columns:39px 24px 39px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-step{
    width:39px;
    height:39px;
  }

  html body #productModal[data-type="empanadas"] .modal-actions{
    grid-template-columns:70px minmax(0,1fr)!important;
  }

  html body #productModal[data-type="empanadas"] #modalCancelBtn{
    font-size:0!important;
  }

  html body #productModal[data-type="empanadas"] #modalCancelBtn::after{
    content:'Volver';
    font-size:10px;
  }
}

@media (prefers-reduced-motion:reduce){
  html body #productModal[data-type="empanadas"] *,
  html body #cartDrawer *{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}


/* Tía Vicenta v459 · selección reversible y carrito editable */
html body #productModal[data-type="empanadas"] .tv-emp-pack-note{
  margin:12px 2px 0;
  color:var(--tv458-muted);
  font-size:11px;
  font-weight:750;
  line-height:1.35;
}

html body #productModal[data-type="empanadas"] .tv-emp-pill.is-over,
html body #productModal[data-type="empanadas"] .tv-emp-selected-meter.is-over{
  border-color:color-mix(in srgb,var(--tv458-danger) 45%,transparent);
  background:color-mix(in srgb,var(--tv458-danger) 12%,var(--tv458-surface));
  color:var(--tv458-danger);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-panel.is-over{
  border-color:color-mix(in srgb,var(--tv458-danger) 45%,transparent);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-heading > strong{
  color:var(--tv458-text);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

html body #productModal[data-type="empanadas"] .tv-emp-selection-actions{
  display:flex;
  align-items:center;
  gap:5px;
}

html body #productModal[data-type="empanadas"] .tv-emp-selection-actions button{
  min-height:30px;
  padding:0 9px;
  border:1px solid var(--tv458-line);
  border-radius:999px;
  background:var(--tv458-surface);
  color:var(--tv458-muted);
  font-size:10px;
  font-weight:900;
  cursor:pointer;
  touch-action:manipulation;
}

html body #productModal[data-type="empanadas"] .tv-emp-selection-actions button:last-child{
  color:var(--tv458-danger);
}

html body #productModal[data-type="empanadas"] .tv-emp-selection-actions button:disabled{
  opacity:.38;
  cursor:not-allowed;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chip{
  grid-template-columns:22px 18px minmax(0,1fr) 18px;
  padding-right:6px;
  transition:border-color .15s ease,background .15s ease,transform .15s ease;
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chip:hover{
  border-color:color-mix(in srgb,var(--tv458-danger) 40%,var(--tv458-line));
  background:color-mix(in srgb,var(--tv458-danger) 7%,var(--tv458-surface));
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chip:active{
  transform:scale(.975);
}

html body #productModal[data-type="empanadas"] .tv-emp-selected-chip i{
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:color-mix(in srgb,var(--tv458-danger) 12%,transparent);
  color:var(--tv458-danger);
  font-size:14px;
  font-style:normal;
  font-weight:1000;
  line-height:1;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-check{
  font-size:18px;
  transition:transform .14s ease,background .14s ease,border-color .14s ease;
  touch-action:manipulation;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-check:active{
  transform:scale(.9);
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor-check.is-selected{
  border-color:transparent;
  background:linear-gradient(180deg,var(--tv458-success),color-mix(in srgb,var(--tv458-success) 82%,#000));
  color:#fff;
}

html body #productModal[data-type="empanadas"] .tv-emp-flavor.is-selected .tv-emp-minus{
  border-color:color-mix(in srgb,var(--tv458-danger) 25%,var(--tv458-line));
  color:var(--tv458-danger);
}

html body #cartDrawer .cart-item.is-empanada-selection{
  border-color:color-mix(in srgb,var(--tv458-accent) 25%,var(--tv-cart-line,var(--tv458-line)));
}

html body #cartDrawer .cart-selection-label{
  width:max-content;
  max-width:100%;
  margin:5px 0 2px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--tv458-accent-soft);
  color:var(--tv458-text);
  font-size:10.5px;
  font-weight:900;
}

html body #cartDrawer .cart-edit-selection{
  min-height:42px;
  padding:0 12px;
  border:1px solid color-mix(in srgb,var(--tv458-accent) 50%,var(--tv-cart-line,var(--tv458-line)));
  border-radius:13px;
  background:var(--tv458-accent-soft);
  color:var(--tv458-text);
  font-size:11px;
  font-weight:950;
  cursor:pointer;
  touch-action:manipulation;
}

html body #cartDrawer .cart-item.is-empanada-selection .cart-item-foot{
  grid-template-columns:auto auto minmax(90px,1fr);
}

html body #cartDrawer .qty-control span small{
  display:block;
  margin-top:1px;
  font-size:8px;
  line-height:1;
  font-weight:800;
  opacity:.72;
}

@media (max-width:700px){
  html body #productModal[data-type="empanadas"] .tv-emp-selected-panel{
    grid-template-columns:54px minmax(0,1fr);
  }

  html body #productModal[data-type="empanadas"] .tv-emp-selected-meter{
    width:54px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-selected-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }

  html body #productModal[data-type="empanadas"] .tv-emp-selected-chip{
    max-width:190px;
  }

  html body #cartDrawer .cart-item.is-empanada-selection .cart-item-foot{
    grid-template-columns:1fr auto;
  }

  html body #cartDrawer .cart-edit-selection{
    grid-column:1 / -1;
    width:100%;
  }
}
