/**
 * Quiosco — cart link styles.
 *
 * Scope: `.qsc-cart-link` y descendientes BEM. Cero `!important`.
 * El icono usa `currentColor` para heredar el color del theme.
 *
 * Layout:
 *  - El SVG va envuelto en `__icon-wrap` para defenderse de selectores
 *    tipo `nav a > svg` o `.menu-item > a > svg` (Kubio Pro, Astra,
 *    Hello Elementor, etc.) que colapsan SVGs inline en menu items.
 *  - El badge `__count` se posiciona absolute dentro del wrap, en
 *    overlay sobre la esquina superior derecha del icono. Se oculta
 *    cuando count = 0.
 *  - El label `__label` se muestra solo en mobile (<768px) — útil en
 *    menús verticales donde un icono solo queda raro al lado de items
 *    con texto. En desktop el icono basta.
 */

.qsc-cart-link {
  text-decoration: none;
  color: currentColor;
}

/*
 * `__inner` es hijo único del <a>. Esto neutraliza estilos del theme
 * sobre menu links que usan flex + space-between (Kubio mobile menu,
 * por ejemplo) y separan icon/label a los extremos del item. Con un
 * solo hijo, space-between no tiene nada que separar.
 */
.qsc-cart-link__inner {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  /*
   * Match menu link height: items con texto crecen por line-height,
   * el icono solo (1.25rem) es más bajo y el hover background del
   * theme queda más chico que en items texto. `1lh` iguala el alto
   * a una línea del parent (fallback `1.5em` para browsers viejos).
   */
  min-height: 1.5em;
  min-height: 1lh;
}

.qsc-cart-link__icon-wrap {
  display: inline-flex;
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
  color: currentColor;
}

.qsc-cart-link__icon-wrap svg {
  width: 100%;
  height: 100%;
}

.qsc-cart-link__count {
  position: absolute;
  top: -0.4rem;
  right: -0.5rem;
  font-size: 0.65rem;
  font-weight: 700;
  line-height: 1;
  background: transparent;
  color: currentColor;
}

.qsc-cart-link__count[data-qsc-cart-count="0"] {
  display: none;
}

.qsc-cart-link__label {
  display: none;
}

@media (max-width: 767px) {
  .qsc-cart-link__label {
    display: inline;
    padding-left: 0.5rem;
  }
}
