:root{
  --tbm-wl-black:#0d0d0d;
  --tbm-wl-off:#f2efea;
  --tbm-wl-white:#fff;
  --tbm-wl-grey:#6a6964;
  --tbm-wl-line:rgba(13,13,13,.14);
  --tbm-wl-gold:#c9a84c;
}

html.tbm-wishlist-lock,html.tbm-wishlist-lock body{overflow:hidden!important}

/* Producto: reutiliza el botón del tema TBM o inyecta uno si falta. */
.woocommerce ul.products li.product,.product-card{position:relative!important}
.product-favorite.tbm-wishlist-button,
.tbm-wishlist-button{
  appearance:none;-webkit-appearance:none;
  position:absolute;top:6px;right:6px;z-index:30;
  width:40px;height:40px;margin:0;padding:0;
  display:grid;place-items:center;
  border:1px solid rgba(13,13,13,.12);border-radius:0;
  background:rgba(242,239,234,.88);color:var(--tbm-wl-black);
  box-shadow:none;cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,opacity .18s ease;
}
.product-favorite.tbm-wishlist-button:hover,.tbm-wishlist-button:hover{background:#fff;border-color:rgba(13,13,13,.35);transform:translateY(-1px)}
.product-favorite.tbm-wishlist-button.is-active,.tbm-wishlist-button.is-active{background:var(--tbm-wl-black);border-color:var(--tbm-wl-black);color:#fff}
.product-favorite.tbm-wishlist-button.is-loading,.tbm-wishlist-button.is-loading{opacity:.5;pointer-events:none}
.tbm-wishlist-heart{width:20px;height:20px;display:block;fill:currentColor;pointer-events:none}

/* Badge en icono Favoritos del header. */
button[data-tbm-wishlist-open]{position:relative}
.tbm-wishlist-header-count{
  position:absolute;right:-2px;top:-2px;min-width:16px;height:16px;padding:0 4px;
  display:grid;place-items:center;border-radius:20px;background:var(--tbm-wl-black);color:#fff;
  font:600 9px/1 Arial,sans-serif;
}
.tbm-wishlist-header-count[hidden]{display:none!important}

/* Overlay + drawer */
.tbm-wishlist-overlay{
  position:fixed;inset:0;z-index:99990;background:rgba(0,0,0,.45);opacity:0;
  transition:opacity .25s ease;backdrop-filter:blur(2px);
}
.tbm-wishlist-overlay.is-open{opacity:1}
.tbm-wishlist-drawer{
  position:fixed;top:0;right:0;z-index:99991;width:min(440px,94vw);height:100dvh;
  display:flex;flex-direction:column;background:var(--tbm-wl-off);color:var(--tbm-wl-black);
  box-shadow:-20px 0 60px rgba(0,0,0,.18);transform:translateX(102%);
  transition:transform .28s cubic-bezier(.2,.8,.2,1);font-family:Montserrat,Arial,sans-serif;
}
.tbm-wishlist-drawer.is-open{transform:translateX(0)}
.tbm-wishlist-drawer__header{
  min-height:98px;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  border-bottom:1px solid var(--tbm-wl-line);
}
.tbm-wishlist-drawer__kicker{display:block;margin-bottom:4px;font-size:8px;font-weight:600;letter-spacing:.18em;color:var(--tbm-wl-grey)}
.tbm-wishlist-drawer__header h2{margin:0!important;font-family:Anton,Impact,sans-serif!important;font-size:36px!important;font-weight:400!important;line-height:1!important;letter-spacing:0;text-transform:uppercase}
.tbm-wishlist-drawer__count{font-family:Montserrat,Arial,sans-serif;font-size:10px;font-weight:600;vertical-align:top;margin-left:4px}
.tbm-wishlist-drawer__close{appearance:none;border:0;background:transparent;color:var(--tbm-wl-black);font-size:32px;line-height:1;cursor:pointer;padding:4px}
.tbm-wishlist-drawer__content{flex:1;min-height:0;overflow:auto;padding:0 24px}
.tbm-wishlist-drawer__footer{padding:18px 24px;border-top:1px solid var(--tbm-wl-line)}
.tbm-wishlist-drawer__footer a,.tbm-wishlist-shop-button{display:flex;min-height:46px;align-items:center;justify-content:center;padding:0 20px;background:var(--tbm-wl-black);color:#fff!important;text-decoration:none!important;font-size:9px;font-weight:600;letter-spacing:.07em;text-transform:uppercase}
.tbm-wishlist-loading,.tbm-wishlist-drawer__empty,.tbm-wishlist-empty{padding:42px 0;font-size:11px;color:var(--tbm-wl-grey)}
.tbm-wishlist-drawer__empty a{display:inline-block;margin-top:12px;color:var(--tbm-wl-black)!important;font-size:9px;font-weight:600;text-decoration:none!important}

/* Productos pequeños en drawer */
.tbm-wishlist-mini{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) 28px;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--tbm-wl-line)}
.tbm-wishlist-mini__image{display:block;width:86px;height:106px;background:#e6e1da;overflow:hidden}
.tbm-wishlist-mini__image img{width:100%!important;height:100%!important;object-fit:cover!important;margin:0!important}
.tbm-wishlist-mini__body{min-width:0}
.tbm-wishlist-mini__title{display:block;color:var(--tbm-wl-black)!important;text-decoration:none!important;font-size:10px;font-weight:600;line-height:1.35;text-transform:uppercase}
.tbm-wishlist-mini__price{margin-top:7px;font-size:10px;color:var(--tbm-wl-black)}
.tbm-wishlist-remove{appearance:none;border:0;background:transparent;color:var(--tbm-wl-black);font-size:25px;line-height:1;cursor:pointer;padding:0}

/* Página/endpoint Favoritos */
.tbm-wishlist-page{width:100%;font-family:Montserrat,Arial,sans-serif}
.tbm-wishlist-page__header{margin:0 0 28px}
.tbm-wishlist-page__kicker{margin:0 0 7px;font-size:9px;font-weight:600;letter-spacing:.18em;color:var(--tbm-wl-grey);text-transform:uppercase}
.tbm-wishlist-page__title{margin:0!important;font-family:Anton,Impact,sans-serif!important;font-size:clamp(42px,6vw,80px)!important;font-weight:400!important;line-height:1!important;text-transform:uppercase}
.tbm-wishlist-page__content .woocommerce ul.products{margin-top:0!important}

@media(max-width:767px){
  .product-favorite.tbm-wishlist-button,.tbm-wishlist-button{width:34px;height:34px;top:6px;right:6px}
  .tbm-wishlist-heart{width:17px;height:17px}
  .tbm-wishlist-drawer{width:min(390px,100vw)}
  .tbm-wishlist-drawer__header{padding:19px 18px;min-height:88px}
  .tbm-wishlist-drawer__content{padding:0 18px}
  .tbm-wishlist-drawer__footer{padding:16px 18px}
  .tbm-wishlist-mini{grid-template-columns:74px minmax(0,1fr) 24px;gap:11px}
  .tbm-wishlist-mini__image{width:74px;height:92px}
}

@media(prefers-reduced-motion:reduce){
  .tbm-wishlist-overlay,.tbm-wishlist-drawer,.tbm-wishlist-button{transition:none!important}
}
