/* =============================================================================
   WorkHard — Cart Drawer Experience (sidecart de Uncode)
   =============================================================================
   Se carga en TODO el sitio (el drawer vive en wp_footer en cada página,
   ver core/inc/compatibility/woocommerce/sidecart.php del theme). No se
   toca el template — es una capa de estilos sobre el markup estándar de
   Uncode/WooCommerce (uncode_sidecart / mini-cart.php), mismo lenguaje
   visual del resto del sitio.
   ============================================================================= */

#uncode_sidecart{
  --wh-green:#00eb00;
  --wh-ink:#0a0a0a;
  --wh-surface:#141414;
  --wh-surface-2:#1f1f1f;
}

#uncode_sidecart.uncode-cart{
  background:var(--wh-ink) !important;
  border-left:1px solid var(--wh-surface-2);
}

/* ---------- Header: título + botón cerrar ---------- */
#uncode_sidecart .woocommerce-mini-cart-header{
  display:flex; align-items:center; justify-content:space-between;
  width:100%;
  box-sizing:border-box;
  padding:18px 30px !important;
  border-bottom:1px solid var(--wh-surface-2);
  background:var(--wh-ink);
  overflow:visible;
}
/* Título real inyectado por JS (ver wh_cart_drawer_print_title_script en el
   mu-plugin) como primer hijo del header, ANTES del botón cerrar. Se dejó
   de usar un ::before por CSS porque, aunque los pseudo-elementos de un
   contenedor flex deberían tratarse como flex-items según spec, el
   comportamiento no fue consistente y el título terminaba pegado/mezclado
   con el botón en vez de quedar separado a la izquierda. Un elemento real
   en el DOM es robusto en cualquier navegador. */
#uncode_sidecart .wh-cart-title{
  font-family:'Nunito', sans-serif;
  font-weight:800; font-size:14px;
  color:#ffffff;
  flex:0 0 auto;
}
#uncode_sidecart .close-mini-cart{
  box-sizing:border-box;
  display:inline-flex !important;
  flex:0 0 auto !important;
  width:auto !important;
  max-width:none;
  white-space:nowrap;
  align-items:center; gap:8px;
  margin-left:16px;
  font-family:'Nunito', sans-serif;
  font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:rgba(255,255,255,.65) !important;
  border:1px solid var(--wh-surface-2) !important;
  border-radius:30px !important;
  padding:9px 18px 9px 16px !important;
  cursor:pointer;
  transition:.2s ease;
}
#uncode_sidecart .close-mini-cart:hover{
  color:var(--wh-green) !important;
  border-color:rgba(0,235,0,.4) !important;
}
#uncode_sidecart .close-mini-cart .cart-close-icon{
  margin-left:1px;
  font-size:15px; line-height:1;
}

/* ---------- Body: listado de productos ----------
   OJO: NO tocar padding-top acá. Uncode calcula dinámicamente (vía JS) el
   alto real del header y lo inyecta como padding-top inline en este
   elemento, para que el contenido no quede tapado por el header (que va
   superpuesto/sticky arriba del todo). Sobreescribirlo con un shorthand
   `padding` reventaba ese cálculo y el botón "Cerrar" terminaba pisando
   la primera miniatura del carrito. */
#uncode_sidecart .woocommerce-mini-cart-body{
  padding-left:22px !important;
  padding-right:22px !important;
  padding-bottom:6px !important;
}
#uncode_sidecart ul.woocommerce-mini-cart{
  list-style:none !important;
  margin:0 !important; padding:0 !important;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item{
  position:relative;
  display:block;
  /* Columna reservada a la izquierda para la miniatura (56px + 12px de aire).
     La miniatura se posiciona absoluta (ver más abajo) porque el markup base
     de Uncode ya trae la <img> con position:absolute sin top/left definidos,
     lo que la deja "flotando" en una posición estática impredecible y hacía
     que el texto del item quedara detrás/encima de ella. Fijándole
     top/left explícitos y reservando el espacio acá con padding-left,
     el texto (nombre, variación, cantidad) siempre queda a la derecha,
     nunca superpuesto. */
  padding:18px 40px 18px 68px !important;
  min-height:56px;
  border-bottom:1px solid var(--wh-surface-2) !important;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item:last-child{
  border-bottom:none !important;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item img{
  position:absolute !important;
  top:18px !important; left:0 !important;
  width:56px !important; height:56px !important;
  object-fit:cover;
  border-radius:12px !important;
  flex:none;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item a:not(.remove){
  display:block;
  font-family:'Nunito', sans-serif;
  font-weight:700; font-size:14px;
  line-height:1.3;
  color:#ffffff !important;
  text-decoration:none !important;
  max-width:100%;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item .quantity{
  display:block;
  font-family:'Nunito', sans-serif;
  font-size:12.5px;
  color:rgba(255,255,255,.55) !important;
  margin-top:6px;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item .quantity .woocommerce-Price-amount{
  color:var(--wh-green) !important;
  font-weight:700;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item dl.variation{
  font-size:12px;
  line-height:1.5;
  margin:4px 0 0 !important;
  color:rgba(255,255,255,.5) !important;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item a.remove{
  position:absolute;
  top:18px; right:0;
  display:flex !important;
  align-items:center; justify-content:center;
  width:26px; height:26px;
  border-radius:50% !important;
  color:rgba(255,255,255,.5) !important;
  background:var(--wh-surface) !important;
  border:1px solid var(--wh-surface-2) !important;
  transition:.2s ease;
}
#uncode_sidecart ul.woocommerce-mini-cart li.mini_cart_item a.remove:hover{
  color:#ff5c5c !important;
  border-color:rgba(255,92,92,.4) !important;
}
#uncode_sidecart li.woocommerce-mini-cart__empty-message,
#uncode_sidecart .woocommerce-mini-cart__empty-message{
  display:block !important;
  font-family:'Nunito', sans-serif;
  color:rgba(255,255,255,.55) !important;
  text-align:center !important;
  padding:30px 0 !important;
  width:100% !important;
}

/* ---------- Footer: total + botones ---------- */
#uncode_sidecart .woocommerce-mini-cart-footer{
  padding:18px 22px 24px !important;
  border-top:1px solid var(--wh-surface-2);
}
#uncode_sidecart .woocommerce-mini-cart__total{
  display:flex; align-items:center; justify-content:space-between;
  font-family:'Nunito', sans-serif;
  font-weight:800; font-size:15px;
  color:#ffffff !important;
  margin:0 0 16px !important;
}
#uncode_sidecart .woocommerce-mini-cart__total .woocommerce-Price-amount{
  color:var(--wh-green) !important;
  font-size:19px !important;
}
#uncode_sidecart .woocommerce-mini-cart__buttons{
  display:flex; flex-direction:column; gap:10px;
  margin:0 !important;
}
#uncode_sidecart .woocommerce-mini-cart__buttons .button,
#uncode_sidecart .woocommerce-mini-cart__buttons a.btn{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  font-family:'Nunito', sans-serif !important;
  font-weight:800 !important;
  font-size:13px !important;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:15px 18px !important;
  border-radius:12px !important;
  transition:transform .2s ease, box-shadow .2s ease;
}
#uncode_sidecart .woocommerce-mini-cart__buttons a.wc-forward:not(.checkout){
  background:transparent !important;
  border:1.5px solid var(--wh-surface-2) !important;
  color:rgba(255,255,255,.8) !important;
}
#uncode_sidecart .woocommerce-mini-cart__buttons a.wc-forward:not(.checkout):hover{
  border-color:rgba(0,235,0,.4) !important;
  color:var(--wh-green) !important;
}
#uncode_sidecart .woocommerce-mini-cart__buttons a.checkout.wc-forward{
  background:var(--wh-green) !important;
  color:var(--wh-ink) !important;
  border:none !important;
  box-shadow:0 0 0 5px rgba(0,235,0,.1), 0 0 26px 4px rgba(0,235,0,.35);
}
#uncode_sidecart .woocommerce-mini-cart__buttons a.checkout.wc-forward:hover{
  transform:translateY(-2px);
  box-shadow:0 0 0 7px rgba(0,235,0,.14), 0 0 34px 6px rgba(0,235,0,.5);
}

/* ---------- Overlay ---------- */
#uncode_sidecart_overlay{
  background:rgba(0,0,0,.6) !important;
}

/* ---------- Scrollbar del body ---------- */
#uncode_sidecart .woocommerce-mini-cart-body::-webkit-scrollbar{ width:6px; }
#uncode_sidecart .woocommerce-mini-cart-body::-webkit-scrollbar-track{ background:transparent; }
#uncode_sidecart .woocommerce-mini-cart-body::-webkit-scrollbar-thumb{
  background:var(--wh-surface-2); border-radius:6px;
}
