/* v400 · limpieza real: agregados claros + carga estable */
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}

/* Carrito y agregados */
#cartDrawer .addons{display:none!important}
#cartDrawer.tv400-addons-open #addonsPanel{display:block!important}
#cartDrawer #addonsPanel[hidden]{display:none!important}
#cartDrawer.tv400-addons-open #addonsPanel[hidden]{display:block!important}

.tv400-addons-open-btn-wrap{padding:10px 0 14px!important;margin:0!important;}
.tv400-addons-open-btn{width:100%!important;border:0!important;border-radius:20px!important;padding:14px!important;display:grid!important;grid-template-columns:44px 1fr auto!important;gap:12px!important;align-items:center!important;background:linear-gradient(135deg,#ff8a00,#ff5a00)!important;color:#fff!important;font-weight:900!important;text-align:left!important;box-shadow:0 12px 30px rgba(255,105,0,.24)!important;cursor:pointer!important;touch-action:manipulation!important;}
.tv400-addons-open-btn .ico{width:44px;height:44px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-size:1.25rem;}
.tv400-addons-open-btn b{display:block;font-size:1rem;line-height:1.1;}
.tv400-addons-open-btn small{display:block;margin-top:3px;color:rgba(255,255,255,.84);font-size:.82rem;line-height:1.2;}
.tv400-addons-open-btn .pill{min-width:30px;height:30px;border-radius:999px;background:#111;color:#fff;display:grid;place-items:center;font-size:.86rem;font-weight:950;}

#cartDrawer #addonsPanel.tv400-panel{border:1px solid rgba(120,60,0,.14)!important;border-radius:24px!important;background:rgba(255,255,255,.72)!important;padding:12px!important;margin:4px 0 14px!important;box-shadow:0 12px 32px rgba(0,0,0,.08)!important;}
html[data-theme="dark"] #cartDrawer #addonsPanel.tv400-panel{background:rgba(26,18,12,.88)!important;border-color:rgba(255,190,120,.18)!important;}
#cartDrawer #addonsPanel .addons-heading{padding:4px 4px 12px!important;}
#cartDrawer #addonsPanel .addons-heading b{font-size:1.05rem!important;}
#cartDrawer #addonsPanel .addons-heading small{font-weight:800!important;color:#ff6b00!important;}
#cartDrawer #addonTabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0 0 12px!important;}
#cartDrawer #addonTabs .addon-tab{border:1px solid rgba(120,60,0,.14)!important;border-radius:16px!important;min-height:46px!important;padding:8px!important;background:#fff!important;color:#2b1609!important;font-weight:950!important;font-size:.86rem!important;cursor:pointer!important;}
html[data-theme="dark"] #cartDrawer #addonTabs .addon-tab{background:#1d1712!important;color:#fff3e4!important;border-color:rgba(255,190,120,.18)!important;}
#cartDrawer #addonTabs .addon-tab.active{background:#111!important;color:#fff!important;border-color:#111!important;}
#cartDrawer #addonTabs .addon-tab .count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:4px;padding:0 5px;border-radius:999px;background:#ff8a00;color:#fff;font-size:.72rem;}

#cartDrawer #addonList{display:grid!important;gap:10px!important;}
.tv400-addon-card{display:grid!important;grid-template-columns:64px 1fr!important;gap:12px!important;align-items:stretch!important;padding:11px!important;border:1px solid rgba(120,60,0,.14)!important;border-radius:21px!important;background:#fff!important;color:#241307!important;box-shadow:0 9px 24px rgba(0,0,0,.07)!important;overflow:hidden!important;}
html[data-theme="dark"] .tv400-addon-card{background:#1d1712!important;color:#fff3e4!important;border-color:rgba(255,190,120,.18)!important;}
.tv400-addon-card.is-active{border-color:rgba(35,184,95,.55)!important;background:linear-gradient(180deg,rgba(35,184,95,.10),rgba(35,184,95,.035)),#fff!important;}
html[data-theme="dark"] .tv400-addon-card.is-active{background:linear-gradient(180deg,rgba(35,184,95,.15),rgba(35,184,95,.05)),#1d1712!important;}
.tv400-addon-card.just-changed{animation:tv400Pulse .45s ease both!important;}
@keyframes tv400Pulse{45%{transform:scale(1.018);box-shadow:0 0 0 6px rgba(255,138,0,.16),0 15px 34px rgba(255,105,0,.2)}}
.tv400-addon-media{position:relative!important;min-height:78px!important;border-radius:17px!important;overflow:hidden!important;background:rgba(255,138,0,.12)!important;}
.tv400-addon-media img{width:100%!important;height:100%!important;min-height:78px!important;object-fit:cover!important;display:block!important;}
.tv400-addon-emoji{position:absolute!important;right:4px!important;bottom:4px!important;width:28px!important;height:28px!important;display:grid!important;place-items:center!important;border-radius:999px!important;background:#fff!important;box-shadow:0 4px 14px rgba(0,0,0,.18)!important;}
.tv400-addon-info{min-width:0!important;display:grid!important;gap:8px!important;}
.tv400-addon-top{display:grid!important;grid-template-columns:1fr auto!important;gap:8px!important;align-items:start!important;}
.tv400-addon-name{display:block!important;font-weight:950!important;font-size:.98rem!important;line-height:1.15!important;}
.tv400-addon-meta{display:block!important;margin-top:2px!important;color:#755f4b!important;font-size:.78rem!important;line-height:1.25!important;}
html[data-theme="dark"] .tv400-addon-meta{color:#cbb9a8!important;}
.tv400-addon-price{color:#ff5a00!important;font-weight:950!important;white-space:nowrap!important;}
.tv400-addon-status{width:fit-content!important;display:inline-flex!important;gap:6px!important;padding:6px 9px!important;border-radius:999px!important;background:rgba(0,0,0,.06)!important;color:#755f4b!important;font-size:.78rem!important;font-weight:900!important;}
html[data-theme="dark"] .tv400-addon-status{background:rgba(255,255,255,.08)!important;color:#cbb9a8!important;}
.tv400-addon-card.is-active .tv400-addon-status{background:rgba(35,184,95,.16)!important;color:#11843f!important;}
.tv400-addon-control{display:grid!important;grid-template-columns:48px minmax(70px,1fr) 96px!important;gap:6px!important;align-items:center!important;padding:5px!important;border-radius:18px!important;background:rgba(0,0,0,.055)!important;}
html[data-theme="dark"] .tv400-addon-control{background:rgba(255,255,255,.08)!important;}
.tv400-addon-control button{min-height:44px!important;border:0!important;border-radius:14px!important;display:grid!important;place-items:center!important;font-weight:950!important;cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;}
.tv400-addon-minus{background:#211710!important;color:#fff!important;font-size:1.3rem!important;}
.tv400-addon-plus{background:linear-gradient(135deg,#ff8a00,#ff5a00)!important;color:#fff!important;font-size:.88rem!important;line-height:1.05!important;}
.tv400-addon-plus b{display:block!important;font-size:1.05rem!important;}
.tv400-addon-amount{min-height:44px!important;display:grid!important;place-items:center!important;border-radius:14px!important;background:#fff!important;color:#241307!important;font-weight:950!important;font-size:1rem!important;}
html[data-theme="dark"] .tv400-addon-amount{background:#1d1712!important;color:#fff3e4!important;}
.tv400-addon-minus:disabled{opacity:.35!important;cursor:not-allowed!important;}
.tv400-addon-empty{padding:14px!important;border-radius:16px!important;background:rgba(255,138,0,.10)!important;font-weight:800!important;}
.tv400-cart-toast{position:sticky!important;bottom:8px!important;z-index:12!important;width:fit-content!important;max-width:100%!important;margin:8px auto 0!important;padding:10px 14px!important;border-radius:999px!important;background:#111!important;color:#fff!important;font-size:.86rem!important;font-weight:950!important;opacity:0!important;transform:translateY(8px)!important;pointer-events:none!important;transition:.18s ease!important;}
.tv400-cart-toast.show{opacity:1!important;transform:translateY(0)!important;}

/* v401 · guard funcional sin cambiar estética original */
#cartDrawer{z-index:110!important;}
#drawerBackdrop{z-index:109!important;}
#categoryMenuDrawer{z-index:108!important;}
#categoryMenuBackdrop{z-index:107!important;}
#productModal,#adminModal{z-index:130!important;}
@media(max-width:760px){
  #cartDrawer.show{height:100dvh!important;max-height:100dvh!important;top:0!important;bottom:0!important;display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;}
  #cartDrawer .drawer-body{min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding-bottom:12px!important;}
  #cartDrawer .drawer-foot{position:sticky!important;bottom:0!important;z-index:2!important;}
  #cartFloatBtn{z-index:95!important;}
  #cartDrawer.show ~ #cartFloatBtn, body.drawer-open #cartFloatBtn{display:none!important;}
  #categoryMenuDrawer.show{max-height:100dvh!important;overflow:auto!important;-webkit-overflow-scrolling:touch!important;}
}
@media(prefers-reduced-motion: reduce), (max-width:760px){
  .cart-magic-flyer,.cart-magic-spark,.confetti,.snowflake{display:none!important;}
}

/* v402 · reparación directa del carrito: controles de agregados siempre clickeables */
#cartDrawer #addonsPanel,
#cartDrawer #addonTabs,
#cartDrawer #addonList,
#cartDrawer .tv400-addon-card,
#cartDrawer .tv400-addon-control,
#cartDrawer .tv400-addon-control button,
#cartDrawer .tv400-addons-open-btn{
  pointer-events:auto!important;
}
#cartDrawer .tv400-addon-card{position:relative!important;z-index:2!important;}
#cartDrawer .tv400-addon-control{position:relative!important;z-index:3!important;}
#cartDrawer .tv400-addon-control button{user-select:none!important;-webkit-user-select:none!important;}
#cartDrawer .tv400-addon-plus,
#cartDrawer .tv400-addon-minus{min-width:44px!important;}
#cartDrawer .tv400-addon-plus{display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;}
#cartDrawer .tv400-addon-minus:disabled{pointer-events:none!important;}
#cartDrawer .tv400-addon-card.is-active .tv400-addon-amount{box-shadow:inset 0 0 0 2px rgba(35,184,95,.20)!important;}
@media (max-width:520px){
  #cartDrawer .tv400-addon-top{grid-template-columns:1fr!important;gap:4px!important;}
  #cartDrawer .tv400-addon-price{justify-self:start!important;}
  #cartDrawer .tv400-addon-control{grid-template-columns:46px minmax(48px,1fr) 92px!important;}
  #cartDrawer .tv400-addon-plus{font-size:.82rem!important;}
}


/* v417: limpia la línea fina/artefacto visual entre el banner principal y los accesos rápidos. */
html body .tv-home-banner,
html body .hero-banner-card,
html body .hero-banner-art,
html body .hero-banner-picture,
html body .hero-banner-image,
html body .quick-nav-wrap,
html body .home-quick-nav{
  border:0!important;
  outline:0!important;
}

html body .hero-banner-card,
html body .hero-banner-art,
html body .hero-banner-picture{
  overflow:hidden!important;
  backface-visibility:hidden!important;
}

html body .hero-banner-picture,
html body .hero-banner-image{
  display:block!important;
  line-height:0!important;
}

html body .hero-banner-image{
  vertical-align:top!important;
  transform:translateZ(0) scale(1.002)!important;
}

html body .quick-nav-wrap::before,
html body .quick-nav-wrap::after,
html body .home-quick-nav::before,
html body .home-quick-nav::after{
  box-shadow:none!important;
  border:0!important;
}

@media(max-width:760px){
  html body .tv-home-banner{
    margin-bottom:8px!important;
  }

  html body .quick-nav-wrap{
    margin-top:8px!important;
  }
}
