/* =========================================================================
   Galaxy GP — Side-cart drawer (port sirneko-gp). MOBILE-FIRST.
   Cabecera fija · lista scrolleable · footer pineado (subtotal + botones).
   ========================================================================= */

[x-cloak] { display: none !important; }

.gs-drawer { position: fixed; inset: 0; z-index: 1000; }
.gs-drawer__overlay { position: absolute; inset: 0; background: rgba(21,12,40,.5); }
.gs-drawer__panel {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: 100vw;   /* mobile: full-screen (desktop 410px abajo) */
  background: var(--gs-paper);
  display: flex;
  flex-direction: column;
  box-shadow: -10px 0 40px rgba(21,12,40,.25);
  transition: transform .3s ease;
}
.gs-drawer__panel--out { transform: translateX(100%); }
@media (prefers-reduced-motion: reduce) { .gs-drawer__panel { transition: none; } }
.admin-bar .gs-drawer__panel { top: 46px; }
@media (min-width: 783px) { .admin-bar .gs-drawer__panel { top: 32px; } }

/* cabecera */
.gs-drawer__head {
  flex-shrink: 0;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid var(--gs-border);
}
.gs-drawer__title { font-family: var(--gs-font-display); font-weight: var(--gs-fw-display); font-size: 1.05rem; }
.gs-drawer__close {
  display: grid; place-items: center;
  width: 2.25rem; height: 2.25rem;
  background: rgba(29,20,48,.06); border: none; border-radius: 50%;
  cursor: pointer; color: var(--gs-ink); padding: 0;
  transition: background .18s ease;
}
.gs-drawer__close:hover { background: rgba(29,20,48,.12); }
.gs-drawer__close:focus-visible { outline: 2px solid var(--gs-plum); outline-offset: 2px; }

/* cuerpo: lista scrollea, footer abajo (flex en wrapper Y en el content que WC reemplaza) */
.gs-drawer__body { flex: 1 1 auto; display: flex; flex-direction: column; overflow: hidden; min-height: 0; padding: 0; }
.gs-drawer .widget_shopping_cart_content { flex: 1 1 auto; display: flex; flex-direction: column; overflow: hidden; min-height: 0; }

.gs-drawer .woocommerce-mini-cart__empty-message { margin: auto; color: var(--gs-muted); padding: 2rem; text-align: center; }

/* lista de items */
.gs-drawer ul.woocommerce-mini-cart { flex: 1 1 auto; overflow-y: auto; list-style: none; margin: 0; padding: .25rem 1.25rem; }
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
  position: relative;
  padding: 1.1rem 2.2rem 1.1rem 96px;
  border-bottom: 1px solid var(--gs-border);
  margin: 0;
}
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item:last-child { border-bottom: none; }
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img {
  position: absolute;
  left: 0; top: 1.1rem;
  width: 80px; height: 80px;
  float: none;
  object-fit: contain;
  border-radius: var(--gs-radius-sm);
  margin: 0;
  background: var(--gs-white);
}
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item > a:not(.remove) {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
  color: var(--gs-ink);
  font-weight: var(--gs-fw-bold);
  font-size: .9rem;
  line-height: 1.3;
}
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item .quantity {
  display: block;
  margin-top: .4rem;
  color: var(--gs-muted);
  font-size: .88rem;
}
/* stepper (− N +) + subtotal de linea */
.gs-drawer .gs-cart-line { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .55rem; }
.gs-drawer .gs-cart-qty { display: inline-flex; align-items: center; gap: .15rem; border: 1px solid var(--gs-border); border-radius: var(--gs-radius-pill); padding: .12rem; background: var(--gs-white); }
.gs-drawer .gs-cart-qty.gs-qty-loading { opacity: .45; pointer-events: none; }
.gs-drawer .gs-qty-btn { width: 1.65rem; height: 1.65rem; display: grid; place-items: center; border: none; background: transparent; color: var(--gs-ink); font-size: 1.05rem; line-height: 1; cursor: pointer; border-radius: 50%; transition: background .15s ease; padding: 0; }
.gs-drawer .gs-qty-btn:hover { background: rgba(29,20,48,.08); }
.gs-drawer .gs-qty-btn:focus-visible { outline: 2px solid var(--gs-plum); outline-offset: 1px; }
.gs-drawer .gs-qty-val { min-width: 1.6rem; text-align: center; font-weight: var(--gs-fw-bold); font-size: .85rem; }
.gs-drawer .gs-cart-price { color: var(--gs-ink); font-weight: var(--gs-fw-bold); font-size: 1rem; white-space: nowrap; }
/* remove: X con pseudo-elementos */
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove {
  position: absolute; right: 0; top: 1rem;
  width: 1.6rem; height: 1.6rem;
  display: grid; place-items: center;
  border-radius: 50%; background: rgba(29,20,48,.06);
  font-size: 0 !important;
  color: var(--gs-ink) !important; text-decoration: none;
  transition: background .18s ease, color .18s ease;
}
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove::before,
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove::after {
  content: ""; position: absolute;
  width: 11px; height: 1.6px; border-radius: 2px; background: currentColor;
}
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove::before { transform: rotate(45deg); }
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove::after { transform: rotate(-45deg); }
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove:hover { background: var(--gs-error-soft); color: var(--gs-error) !important; }
.gs-drawer ul.woocommerce-mini-cart li.woocommerce-mini-cart-item a.remove:focus-visible { outline: 2px solid var(--gs-plum); outline-offset: 2px; }

/* footer pineado */
.gs-drawer .woocommerce-mini-cart__total {
  flex-shrink: 0;
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 1rem 1.25rem .4rem;
  font-weight: var(--gs-fw-bold); font-size: 1rem;
  border-top: 2px solid var(--gs-ink);
}
.gs-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount { color: var(--gs-ink); font-size: 1.25rem; }
.gs-drawer .gs-cart-note { flex-shrink: 0; margin: 0; padding: 0 1.25rem .6rem; color: var(--gs-muted); font-size: .74rem; text-align: center; }
.gs-drawer .woocommerce-mini-cart__buttons { flex-shrink: 0; display: grid; gap: .55rem; margin: 0; padding: .2rem 1.25rem 1.25rem; }
.gs-drawer .woocommerce-mini-cart__buttons .button {
  display: flex; align-items: center; justify-content: center;
  min-height: 48px; margin: 0; text-align: center;
  border-radius: var(--gs-radius-sm);
  font-weight: var(--gs-fw-bold); text-transform: uppercase; letter-spacing: var(--gs-ls-wide); font-size: .75rem;
}
/* checkout = primario ciruela, arriba */
.gs-drawer .woocommerce-mini-cart__buttons .checkout { order: -1; background: var(--gs-plum); color: #fff; }
.gs-drawer .woocommerce-mini-cart__buttons .checkout:hover { background: var(--gs-plum-dark); color: #fff; }
/* ver carrito = ghost */
.gs-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) { background: transparent; color: var(--gs-ink); border: 1.5px solid var(--gs-border); }
.gs-drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover { background: var(--gs-ink); color: #fff; border-color: var(--gs-ink); }
.gs-drawer .woocommerce-mini-cart__buttons .button:focus-visible { outline: 2px solid var(--gs-plum); outline-offset: 2px; }

/* ---------- Desktop ---------- */
@media (min-width: 768px) {
  .gs-drawer__panel { width: 410px; }
}
