/* Tía Vicenta v427 · Pulido pro UI/UX + botones + carrito + búsqueda */
:root{
  --tv427-radius-xs:12px;
  --tv427-radius-sm:16px;
  --tv427-radius-md:20px;
  --tv427-radius-lg:24px;
  --tv427-btn-shadow:0 12px 28px rgba(66,39,13,.12);
  --tv427-btn-shadow-strong:0 18px 38px rgba(66,39,13,.18);
  --tv427-dark-shadow:0 18px 38px rgba(0,0,0,.34);
}
html body #installBtn{
  display:none!important;
}

/* Header top actions balance */
html body .top-actions{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
}
@media (max-width:980px){
  html body .top-actions{
    gap:8px!important;
  }
}

/* Professional buttons */
html body .pill-btn,
html body .add-btn,
html body .details-btn,
html body .tv-business-action-v420,
html body .tv-hours-map-v420,
html body .modal-foot .btn,
html body .modal-foot .primary,
html body .checkout-back,
html body .cart-clear-btn,
html body .cart-remove-icon,
html body .icon-btn,
html body .search-clear,
html body .choice,
html body .close-categories-btn{
  border-radius:18px!important;
  border:1px solid var(--tv-line, rgba(120,85,35,.16))!important;
  box-shadow:var(--tv427-btn-shadow)!important;
  transition:transform .16s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease!important;
}
html body .pill-btn:hover,
html body .add-btn:hover,
html body .details-btn:hover,
html body .tv-business-action-v420:hover,
html body .modal-foot .btn:hover,
html body .modal-foot .primary:hover,
html body .checkout-back:hover,
html body .cart-clear-btn:hover,
html body .cart-remove-icon:hover,
html body .icon-btn:hover,
html body .search-clear:hover,
html body .choice:hover,
html body .close-categories-btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:var(--tv427-btn-shadow-strong)!important;
}
html[data-theme="dark"] body .pill-btn:hover,
html[data-theme="dark"] body .add-btn:hover,
html[data-theme="dark"] body .details-btn:hover,
html[data-theme="dark"] body .tv-business-action-v420:hover,
html[data-theme="dark"] body .modal-foot .btn:hover,
html[data-theme="dark"] body .modal-foot .primary:hover,
html[data-theme="dark"] body .checkout-back:hover,
html[data-theme="dark"] body .cart-clear-btn:hover,
html[data-theme="dark"] body .cart-remove-icon:hover,
html[data-theme="dark"] body .icon-btn:hover,
html[data-theme="dark"] body .search-clear:hover,
html[data-theme="dark"] body .choice:hover,
html[data-theme="dark"] body .close-categories-btn:hover{
  box-shadow:var(--tv427-dark-shadow)!important;
}
html body button:active,
html body .pill-btn:active,
html body .add-btn:active,
html body .details-btn:active,
html body .tv-business-action-v420:active{
  transform:translateY(0) scale(.985)!important;
}

/* Search title / search mode */
html body #menuLead{
  display:block!important;
  margin:8px 0 0!important;
  color:var(--tv-orange)!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
html body.tv427-search-has-results #menuLead{
  opacity:1!important;
}
html body .tv427-search-empty{
  margin:14px 0 0!important;
  padding:18px 18px!important;
  border-radius:20px!important;
  border:1px dashed var(--tv-line)!important;
  background:linear-gradient(180deg,var(--tv-card,#fff), color-mix(in srgb,var(--tv-card,#fff) 88%, transparent))!important;
  color:var(--tv-text)!important;
  box-shadow:var(--tv427-btn-shadow)!important;
}
html body .tv427-search-empty b{
  display:block!important;
  font-size:18px!important;
  margin-bottom:6px!important;
}
html body .tv427-search-empty small{
  color:var(--tv-text-soft)!important;
}

/* Product media and controls */
html body .product{
  border-radius:22px!important;
  overflow:hidden!important;
}
html body .product-media{
  overflow:hidden!important;
}
html body .product-media img{
  display:block!important;
  width:100%!important;
  height:220px!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#fff!important;
}
html body .product .product-actions{
  display:grid!important;
  gap:10px!important;
}
html body .details-btn{
  min-height:46px!important;
  font-weight:900!important;
}
html body .add-btn{
  min-height:46px!important;
  border-radius:16px!important;
  font-weight:1000!important;
  letter-spacing:-.01em!important;
}
html body .card-buy-control{
  min-height:46px!important;
  display:grid!important;
  grid-template-columns:46px 1fr 46px!important;
  align-items:center!important;
  border-radius:16px!important;
  overflow:hidden!important;
  border:1px solid var(--tv-line)!important;
  background:linear-gradient(180deg,var(--tv-card,#fff), var(--tv-card-2,#faf3e8))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), var(--tv427-btn-shadow)!important;
}
html body .card-buy-control.is-empty{
  grid-template-columns:1fr!important;
}
html body .card-buy-control .add-btn{
  min-height:46px!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html body .card-qty-btn,
html body .qty-control button,
html body .cart-addon-pro-control button{
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  border:0!important;
  border-radius:0!important;
  font-size:24px!important;
  font-weight:1000!important;
  line-height:1!important;
}
html body .card-qty-minus,
html body .qty-control button:first-child,
html body .cart-addon-pro-control button:first-child{
  background:color-mix(in srgb, var(--tv-card,#fff) 75%, #000 4%)!important;
  color:var(--tv-text)!important;
}
html body .card-qty-plus,
html body .qty-control button:last-child,
html body .cart-addon-pro-control button:last-child{
  background:linear-gradient(180deg,var(--tv-orange),var(--tv-orange-2))!important;
  color:#211100!important;
}
html body .card-qty-number,
html body .qty-control span,
html body .cart-addon-pro-control span{
  height:46px!important;
  display:grid!important;
  place-items:center!important;
  font-weight:1000!important;
  font-size:18px!important;
  background:transparent!important;
  color:var(--tv-text)!important;
}

/* Dark mode fixes for card controls and cart */
html[data-theme="dark"] body .card-buy-control,
html[data-theme="dark"] body .qty-control,
html[data-theme="dark"] body .cart-addon-pro-control,
html[data-theme="dark"] body .choice,
html[data-theme="dark"] body .details-btn,
html[data-theme="dark"] body .checkout-back,
html[data-theme="dark"] body .cart-clear-btn,
html[data-theme="dark"] body .icon-btn,
html[data-theme="dark"] body .search-clear{
  background:linear-gradient(180deg,#2b2018,#241a15)!important;
  color:#fff6ea!important;
  border-color:rgba(255,210,151,.16)!important;
  box-shadow:var(--tv427-dark-shadow)!important;
}
html[data-theme="dark"] body .card-qty-minus,
html[data-theme="dark"] body .qty-control button:first-child,
html[data-theme="dark"] body .cart-addon-pro-control button:first-child{
  background:rgba(255,255,255,.06)!important;
  color:#fff8ef!important;
}
html[data-theme="dark"] body .card-qty-number,
html[data-theme="dark"] body .qty-control span,
html[data-theme="dark"] body .cart-addon-pro-control span{
  color:#fff8ef!important;
}
html[data-theme="dark"] body .product-media{
  background:#1f1612!important;
}
html[data-theme="dark"] body .product-media img{
  background:#fff7ee!important;
}

/* Search result card sections */
html body .category{
  transition:opacity .18s ease, transform .18s ease!important;
}
html body .category.tv427-hidden{
  display:none!important;
}

/* Drawer / cart polish */
html body #cartDrawer{
  border-left:1px solid var(--tv-line)!important;
}
html body #cartDrawer .drawer-head,
html body #cartDrawer .drawer-foot,
html body #cartDrawer .checkout-panel{
  background:linear-gradient(180deg,var(--tv-card),color-mix(in srgb,var(--tv-card) 86%, transparent))!important;
}
html body #cartDrawer .cart-item,
html body #cartDrawer .tv409-cart-item,
html body #cartDrawer .cart-empty,
html body #cartDrawer .summary-row,
html body #cartDrawer .cart-addons-pro,
html body #cartDrawer .cart-addons-panel,
html body #cartDrawer .cart-data-card{
  border-radius:20px!important;
  border:1px solid var(--tv-line)!important;
  background:linear-gradient(180deg,var(--tv-card),var(--tv-card-2))!important;
  box-shadow:var(--tv427-btn-shadow)!important;
}
html[data-theme="dark"] body #cartDrawer .cart-item,
html[data-theme="dark"] body #cartDrawer .tv409-cart-item,
html[data-theme="dark"] body #cartDrawer .cart-empty,
html[data-theme="dark"] body #cartDrawer .summary-row,
html[data-theme="dark"] body #cartDrawer .cart-addons-pro,
html[data-theme="dark"] body #cartDrawer .cart-addons-panel,
html[data-theme="dark"] body #cartDrawer .cart-data-card{
  background:linear-gradient(180deg,#281e19,#211813)!important;
  border-color:rgba(255,227,188,.14)!important;
}
html body #cartDrawer .cart-remove-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  display:grid!important;
  place-items:center!important;
  font-size:22px!important;
  background:color-mix(in srgb, var(--tv-card,#fff) 72%, transparent)!important;
  color:var(--tv-text)!important;
}
html[data-theme="dark"] body #cartDrawer .cart-remove-icon{
  background:rgba(255,255,255,.07)!important;
  color:#fff7f0!important;
}
html body #cartDrawer .cart-thumb-wrap,
html body #cartDrawer .cart-thumb{
  background:#fff8f1!important;
  border-radius:16px!important;
}
html[data-theme="dark"] body #cartDrawer .cart-thumb-wrap,
html[data-theme="dark"] body #cartDrawer .cart-thumb{
  background:#fff4e6!important;
}
html body #cartDrawer .cart-line-total small,
html body #cartDrawer .cart-unit-price,
html body #cartDrawer .cart-details,
html body #cartDrawer .drawer-eyebrow,
html body #cartDrawer .checkout-kicker{
  color:var(--tv-text-soft)!important;
}
html body #cartDrawer .drawer-title,
html body #cartDrawer .cart-name,
html body #cartDrawer .cart-line-total strong,
html body #cartDrawer .checkout-title,
html body #cartDrawer .cart-total-amount,
html body #cartDrawer label{
  color:var(--tv-text)!important;
}
html body #cartDrawer input,
html body #cartDrawer select,
html body #cartDrawer textarea{
  border-radius:16px!important;
  background:var(--tv-input)!important;
  color:var(--tv-text)!important;
  border:1px solid var(--tv-line)!important;
}

/* Addon tabs professional */
html body #cartAddonsV409Tabs{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:6px!important;
  border-radius:18px!important;
  background:color-mix(in srgb, var(--tv-card,#fff) 72%, transparent)!important;
  border:1px solid var(--tv-line)!important;
}
html[data-theme="dark"] body #cartAddonsV409Tabs{
  background:rgba(255,255,255,.04)!important;
}
html body #cartAddonsV409Tabs [data-v409-addon-tab]{
  flex:1 1 0!important;
  min-height:44px!important;
  padding:0 14px!important;
  border-radius:14px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:var(--tv-text-soft)!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  box-shadow:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
html body #cartAddonsV409Tabs [data-v409-addon-tab].active,
html body #cartAddonsV409Tabs [data-v409-addon-tab][aria-pressed="true"]{
  background:linear-gradient(180deg,var(--tv-orange),var(--tv-orange-2))!important;
  color:#211100!important;
  border-color:transparent!important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--tv-orange) 24%, transparent)!important;
}
html body #cartAddonsV409Tabs [data-v409-addon-tab] .qty,
html body #cartAddonsV409Tabs [data-v409-addon-tab] .count,
html body #cartAddonsV409Tabs [data-v409-addon-tab] b,
html body #cartAddonsV409Tabs [data-v409-addon-tab] small{
  color:inherit!important;
}
html body .cart-addons-pro-count{
  border-radius:999px!important;
  padding:6px 10px!important;
  background:rgba(16,24,40,.08)!important;
  color:var(--tv-text)!important;
}
html[data-theme="dark"] body .cart-addons-pro-count{
  background:rgba(255,255,255,.08)!important;
  color:#fff8ef!important;
}

/* Modal selection cards */
html body .modal-card{
  overflow:hidden!important;
}
html body .choice{
  min-height:110px!important;
  border-radius:18px!important;
  padding:16px!important;
}
html body .choice.selected,
html body .choice.is-selected,
html body .choice[aria-checked="true"]{
  border-color:color-mix(in srgb, var(--tv-orange) 52%, transparent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--tv-orange) 18%, transparent), var(--tv427-btn-shadow)!important;
}
html body .modal-foot{
  gap:10px!important;
}
html body .modal-foot .btn,
html body .modal-foot .primary{
  min-height:52px!important;
  padding:0 18px!important;
  font-weight:1000!important;
  letter-spacing:-.02em!important;
}
html body .modal-foot .btn{
  background:transparent!important;
  color:var(--tv-text)!important;
}
html body .modal-foot .primary{
  background:linear-gradient(180deg,var(--tv-orange),var(--tv-orange-2))!important;
  color:#211100!important;
}

/* App shortcut card can stay, top install button is removed */
html body #appActionBtn{
  cursor:pointer!important;
}

/* Responsive polish */
@media (max-width:980px){
  html body .product-media img{
    height:200px!important;
  }
  html body #cartAddonsV409Tabs [data-v409-addon-tab]{
    flex:1 1 calc(33.333% - 8px)!important;
    min-width:0!important;
    padding-inline:10px!important;
    font-size:13px!important;
  }
}
