/* v289 · cliente real: carrito completo y agregados visibles */
:root{--tv-v289-footer-h:142px}
html,body{max-width:100%;overflow-x:hidden!important}
html.app-loading body{overflow:auto!important}
html.app-ready #appBoot,html:not(.app-loading) #appBoot{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
body.drawer-open{overflow:hidden!important;touch-action:none!important}
/* Carrito por encima de todo lo visible del cliente */
html body #drawerBackdrop.drawer-backdrop{z-index:2147483000!important;background:rgba(9,7,6,.54)!important;backdrop-filter:blur(8px)!important}
html body #cartDrawer.drawer{
  z-index:2147483001!important;
  display:grid!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  overflow:hidden!important;
  max-width:min(100vw,500px)!important;
  background:var(--surface,#fffaf3)!important;
  color:var(--text,#25170f)!important;
  contain:layout paint!important;
}
html body #cartDrawer.drawer.show{will-change:transform!important}
html body #cartDrawer .drawer-head{
  position:relative!important;z-index:4!important;min-height:0!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;
  padding:13px 14px 10px!important;border-bottom:1px solid var(--line,rgba(0,0,0,.08))!important;
  background:color-mix(in srgb,var(--surface,#fffaf3) 96%,transparent)!important;
}
html body #cartDrawer .drawer-eyebrow{display:none!important}
html body #cartDrawer .drawer-title{font-size:clamp(24px,7vw,32px)!important;line-height:.95!important;letter-spacing:-.055em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #cartDrawer .drawer-sub{margin-top:3px!important;font-size:12px!important;line-height:1!important;color:var(--muted,#785d4b)!important;font-weight:900!important}
html body #cartDrawer #drawerCloseBtn{width:42px!important;height:42px!important;min-width:42px!important;border-radius:14px!important;font-size:24px!important;background:var(--card,#fff)!important;color:var(--text,#25170f)!important;border:1px solid var(--line,rgba(0,0,0,.12))!important}
html body #cartDrawer .cart-steps{
  position:relative!important;z-index:3!important;display:grid!important;grid-template-columns:1fr 14px 1fr 14px 1fr!important;
  align-items:center!important;margin:8px 12px 0!important;padding:5px!important;border-radius:999px!important;
  background:var(--card,#fff)!important;border:1px solid var(--line,rgba(0,0,0,.09))!important;box-shadow:none!important;
}
html body #cartDrawer .cart-steps i{height:2px!important;background:var(--line,rgba(0,0,0,.12))!important;border-radius:999px!important}
html body #cartDrawer .cart-step{min-height:30px!important;padding:4px 5px!important;border-radius:999px!important;font-size:10.5px!important;font-weight:1000!important;color:var(--muted,#725747)!important;gap:4px!important}
html body #cartDrawer .cart-step span{width:20px!important;height:20px!important;min-width:20px!important;font-size:10px!important}
html body #cartDrawer .cart-step.active{background:linear-gradient(135deg,var(--accent,#ff9f1c),var(--accent2,#f97316))!important;color:#231306!important}
html body #cartDrawer .drawer-body{
  min-height:0!important;height:auto!important;max-height:none!important;display:block!important;align-content:unset!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;
  padding:10px 12px 14px!important;scroll-padding-bottom:16px!important;background:var(--surface,#fffaf3)!important;
}
html body #cartDrawer #cartItems{display:grid!important;gap:10px!important;margin:0 0 10px!important;min-width:0!important}
html body #cartDrawer .cart-empty{padding:18px 14px!important;border-radius:19px!important;margin:0!important;background:var(--card,#fff)!important;border:1px dashed color-mix(in srgb,var(--accent,#ff9f1c) 45%,var(--line,rgba(0,0,0,.12)))!important;box-shadow:none!important}
html body #cartDrawer .cart-empty>span{width:52px!important;height:52px!important;margin-bottom:8px!important;border-radius:18px!important;font-size:25px!important}
html body #cartDrawer .cart-empty b{font-size:18px!important;line-height:1.05!important}
html body #cartDrawer .cart-empty p{font-size:12.5px!important;line-height:1.25!important;margin:6px auto 11px!important;max-width:28ch!important}
html body #cartDrawer .cart-item{padding:9px!important;border-radius:18px!important;gap:8px!important;background:var(--card,#fff)!important;box-shadow:0 8px 22px rgba(0,0,0,.06)!important;border:1px solid var(--line,rgba(0,0,0,.08))!important}
html body #cartDrawer .cart-item-main{grid-template-columns:56px minmax(0,1fr) 34px!important;gap:8px!important;align-items:start!important}
html body #cartDrawer .cart-thumb-wrap{width:56px!important;height:56px!important;border-radius:15px!important;background:#fff!important;overflow:hidden!important}
html body #cartDrawer .cart-thumb{width:100%!important;height:100%!important;object-fit:cover!important}
html body #cartDrawer .cart-category{font-size:8.5px!important;padding:3px 6px!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body #cartDrawer .cart-name{font-size:14px!important;line-height:1.05!important;letter-spacing:-.035em!important;overflow-wrap:anywhere!important}
html body #cartDrawer .cart-details{max-height:58px!important;overflow:auto!important;padding:6px 7px!important;border-radius:10px!important;font-size:10px!important;line-height:1.22!important}
html body #cartDrawer .cart-unit-price{font-size:11px!important;margin-top:1px!important}
html body #cartDrawer .cart-remove-icon{width:34px!important;height:34px!important;min-width:34px!important;border-radius:12px!important;font-size:19px!important}
html body #cartDrawer .cart-item-foot{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important}
html body #cartDrawer .qty-control{display:grid!important;grid-template-columns:42px minmax(44px,1fr) 42px!important;gap:5px!important;padding:5px!important;border-radius:15px!important;min-width:0!important}
html body #cartDrawer .qty-control button{width:42px!important;height:40px!important;min-width:42px!important;min-height:40px!important;border-radius:12px!important;font-size:20px!important;touch-action:manipulation!important}
html body #cartDrawer .qty-control span{height:40px!important;min-width:44px!important;border-radius:11px!important;font-size:13px!important}
html body #cartDrawer .cart-line-total{min-width:92px!important;padding:8px 9px!important;border-radius:13px!important}
html body #cartDrawer .cart-line-total small{font-size:8.5px!important}
html body #cartDrawer .cart-line-total strong{font-size:14px!important}

/* Agregados siempre visibles en el paso Pedido, incluso con carrito vacío */
html body #cartDrawer.cart-empty-state #addonsPanel,
html body #cartDrawer #addonsPanel,
html body #cartDrawer .addons.follow-buy.compact-addons{
  display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:1!important;
  height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:10px!important;
  border-radius:20px!important;background:var(--card,#fff)!important;border:1px solid var(--line,rgba(0,0,0,.09))!important;box-shadow:0 8px 22px rgba(0,0,0,.05)!important;
}
html body #cartDrawer[data-step="2"] #addonsPanel,
html body #cartDrawer[data-step="3"] #addonsPanel{display:none!important}
html body #cartDrawer #addonsPanel .addons-heading{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;margin:0 0 8px!important}
html body #cartDrawer #addonsPanel .addons-heading span{font-size:10px!important;letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--accent2,#f97316)!important;font-weight:1000!important}
html body #cartDrawer #addonsPanel .addons-heading b{display:block!important;font-size:17px!important;line-height:1.04!important;letter-spacing:-.045em!important;color:var(--text,#25170f)!important}
html body #cartDrawer #addonsPanel .addons-heading small{padding:4px 7px!important;border-radius:999px!important;background:color-mix(in srgb,var(--accent,#ff9f1c) 12%,transparent)!important;color:var(--accent2,#f97316)!important;font-size:10px!important;font-weight:1000!important;white-space:nowrap!important}
html body #cartDrawer #addonTabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin:0 0 8px!important;padding:0!important;overflow:visible!important;background:transparent!important}
html body #cartDrawer .addon-tab{min-width:0!important;min-height:38px!important;padding:5px!important;border-radius:14px!important;font-size:11px!important;font-weight:1000!important;white-space:nowrap!important;touch-action:manipulation!important;border:1px solid var(--line,rgba(0,0,0,.12))!important;background:var(--surface2,#f6eee4)!important;color:var(--text,#25170f)!important}
html body #cartDrawer .addon-tab.active{background:linear-gradient(135deg,var(--accent,#ff9f1c),var(--accent2,#f97316))!important;color:#251307!important;border-color:transparent!important}
html body #cartDrawer #addonList{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;max-height:none!important;overflow:visible!important;padding:0!important}
html body #cartDrawer .addon-item{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;min-height:58px!important;padding:7px!important;border-radius:16px!important;background:var(--surface2,#f7efe6)!important;border:1px solid var(--line,rgba(0,0,0,.08))!important;box-shadow:none!important;overflow:hidden!important}
html body #cartDrawer .addon-thumb-wrap{width:48px!important;height:48px!important;min-width:48px!important;border-radius:14px!important;overflow:hidden!important;background:#fff!important}
html body #cartDrawer .addon-thumb-wrap img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important}
html body #cartDrawer .addon-float-icon{display:none!important}
html body #cartDrawer .addon-copy{min-width:0!important;display:grid!important;gap:2px!important}
html body #cartDrawer .addon-copy small,
html body #cartDrawer .addon-copy p{display:none!important}
html body #cartDrawer .addon-copy b{display:block!important;font-size:12.5px!important;line-height:1.08!important;font-weight:1000!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;color:var(--text,#25170f)!important}
html body #cartDrawer .addon-copy strong{display:block!important;margin:0!important;font-size:12.5px!important;font-weight:1000!important;color:var(--accent2,#f97316)!important}
html body #cartDrawer .addon-add-btn{min-width:74px!important;height:39px!important;min-height:39px!important;border-radius:13px!important;padding:0 11px!important;font-size:12px!important;font-weight:1000!important;touch-action:manipulation!important}
html body #cartDrawer .addon-buy-control{justify-self:end!important;display:grid!important;grid-template-columns:36px 30px 36px!important;gap:4px!important;align-items:center!important;min-width:0!important;padding:4px!important;border-radius:14px!important;background:var(--card,#fff)!important;border:1px solid var(--line,rgba(0,0,0,.08))!important}
html body #cartDrawer .addon-buy-control button,
html body #cartDrawer .addon-buy-control span{width:36px!important;height:34px!important;min-width:36px!important;min-height:34px!important;border-radius:11px!important;display:grid!important;place-items:center!important;font-weight:1000!important;font-size:18px!important;touch-action:manipulation!important}
html body #cartDrawer .addon-buy-control span{width:30px!important;min-width:30px!important;font-size:12px!important;background:transparent!important;color:var(--text,#25170f)!important}

html body #cartDrawer .checkout-panel{margin:0!important;border-radius:20px!important;padding:12px!important;background:var(--card,#fff)!important;box-shadow:none!important}
html body #cartDrawer .checkout-grid{grid-template-columns:1fr!important;gap:8px!important}
html body #cartDrawer .field label{font-size:10px!important;margin-bottom:5px!important}
html body #cartDrawer .input,
html body #cartDrawer .textarea{min-height:44px!important;border-radius:14px!important;font-size:14px!important;background:var(--surface2,#f7efe6)!important;color:var(--text,#25170f)!important}
html body #cartDrawer .textarea{min-height:70px!important}
html body #cartDrawer .drawer-foot{position:relative!important;z-index:5!important;display:grid!important;grid-template-columns:1fr auto!important;gap:6px 10px!important;padding:9px 12px calc(10px + env(safe-area-inset-bottom))!important;background:var(--surface,#fffaf3)!important;border-top:1px solid var(--line,rgba(0,0,0,.09))!important;box-shadow:0 -10px 22px rgba(0,0,0,.09)!important}
html body #cartDrawer .shipping-box{grid-column:1 / -1!important;margin:0!important;padding:6px 9px!important;border-radius:12px!important;font-size:10px!important;line-height:1.1!important;text-align:center!important;background:color-mix(in srgb,var(--accent,#ff9f1c) 9%,var(--card,#fff))!important;color:var(--muted,#725747)!important;border:1px solid color-mix(in srgb,var(--accent,#ff9f1c) 22%,var(--line,rgba(0,0,0,.08)))!important}
html body #cartDrawer .total-row{display:none!important}
html body #cartDrawer .total-row.total{grid-column:1!important;display:grid!important;gap:2px!important;padding:0!important;margin:0!important;border:0!important;align-self:center!important;color:var(--text,#25170f)!important}
html body #cartDrawer .total-row.total span:first-child{font-size:10px!important;font-weight:1000!important;color:var(--muted,#725747)!important;text-transform:uppercase!important;letter-spacing:.08em!important}
html body #cartDrawer .total-row.total span:last-child{font-size:23px!important;line-height:1!important;font-weight:1000!important;color:var(--accent2,#f97316)!important;white-space:nowrap!important}
html body #cartDrawer .drawer-foot .btn{grid-column:2!important;grid-row:2!important;width:min(46vw,190px)!important;min-width:136px!important;min-height:50px!important;margin:0!important;padding:8px 12px!important;border-radius:16px!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;text-align:left!important;align-items:center!important;box-shadow:0 12px 24px color-mix(in srgb,var(--accent,#ff9f1c) 20%,transparent)!important}
html body #cartDrawer .drawer-foot .btn.hidden{display:none!important}
html body #cartDrawer .drawer-foot .btn span{font-size:13px!important;line-height:1!important;font-weight:1000!important}
html body #cartDrawer .drawer-foot .btn small{font-size:9.5px!important;line-height:1!important;opacity:.76!important;margin-top:2px!important;white-space:nowrap!important}
html body #cartDrawer .drawer-foot .btn b{width:28px!important;height:28px!important;border-radius:999px!important;font-size:16px!important}

html.tv-v289-lite *{animation-duration:.001ms!important;transition-duration:.05s!important;scroll-behavior:auto!important}
html.tv-v289-lite .snowflake,html.tv-v289-lite .tv-snow,html.tv-v289-lite .confetti,html.tv-v289-lite .cart-magic-flyer,html.tv-v289-lite .cart-magic-spark{display:none!important}

@media(max-width:760px){
  html body #cartDrawer.drawer{left:0!important;right:0!important;top:0!important;bottom:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;border-radius:0!important;border:0!important;transform:translateY(100%)!important}
  html body #cartDrawer.drawer.show{transform:translateY(0)!important}
  html body #cartDrawer .drawer-head{padding-top:max(10px,env(safe-area-inset-top))!important}
  html body #cartDrawer .drawer-body{padding-bottom:12px!important}
  html body #cartDrawer .shipping-box{display:none!important}
  html body #cartDrawer .drawer-foot{grid-template-columns:minmax(0,1fr) auto!important}
}
@media(max-width:380px), (max-height:700px){
  html body #cartDrawer .drawer-title{font-size:22px!important}
  html body #cartDrawer .drawer-sub{font-size:10.5px!important}
  html body #cartDrawer .cart-step b{display:none!important}
  html body #cartDrawer .cart-step span{width:24px!important;height:24px!important}
  html body #cartDrawer .cart-steps{grid-template-columns:1fr 10px 1fr 10px 1fr!important;margin-top:6px!important}
  html body #cartDrawer .cart-item-main{grid-template-columns:50px minmax(0,1fr) 32px!important}
  html body #cartDrawer .cart-thumb-wrap{width:50px!important;height:50px!important}
  html body #cartDrawer .addon-item{grid-template-columns:42px minmax(0,1fr) auto!important;gap:6px!important}
  html body #cartDrawer .addon-thumb-wrap{width:42px!important;height:42px!important;min-width:42px!important}
  html body #cartDrawer .addon-add-btn{min-width:62px!important;font-size:11px!important}
  html body #cartDrawer .addon-buy-control{grid-template-columns:32px 26px 32px!important}
  html body #cartDrawer .addon-buy-control button,html body #cartDrawer .addon-buy-control span{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
  html body #cartDrawer .addon-buy-control span{width:26px!important;min-width:26px!important}
  html body #cartDrawer .drawer-foot .btn{min-width:124px!important;width:43vw!important}
  html body #cartDrawer .drawer-foot .btn small{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  html body *{scroll-behavior:auto!important;animation-duration:.001ms!important;transition-duration:.001ms!important}
}
