/* GANK · Envío gratis */
.gkfs { --gkfs-dark: #1e1e1c; --gkfs-yellow: #f5b800; box-sizing: border-box; font-family: inherit; }
.gkfs * { box-sizing: border-box; }

/* ---------- Bloque del inicio (columna del carrusel) ---------- */
.gkfs-home { display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
  height: 100%; min-height: 409px; padding: 26px 22px; background: var(--gkfs-dark); color: #fff; border-radius: 10px; }
/* Que la columna crezca al alto de la ficha de producto.
   La fila del tema es display:block con columnas flotadas (alto 0), por eso
   height:100% no tenia contra que resolver; en escritorio la pasamos a flex. */
@media (min-width: 992px) {
  .tvall-product-offer-banner:has(.gkfs-home) { display: flex; flex-wrap: wrap; align-items: stretch; }
  .tvall-product-offer-banner:has(.gkfs-home) > .tvall-product-branner { height: auto; }
}
.tvall-product-branner:has(.gkfs-home) > .tvall-block-box-shadows,
.tvall-product-branner:has(.gkfs-home) .tvbanner-hover-wrapper { height: 100%; }

.gkfs-home .gkfs-ico { display: flex; align-items: center; justify-content: center;
  width: 54px; height: 54px; border-radius: 12px; background: var(--gkfs-yellow); color: var(--gkfs-dark); }
.gkfs-home .gkfs-ico svg { width: 30px; height: 30px; }
.gkfs-txt { display: flex; flex-direction: column; gap: 8px; }
.gkfs-kicker { font-size: 14px; font-weight: 600; color: #cfcbbf; }
.gkfs-title { font-size: 22px; line-height: 1.15; font-weight: 800; }
.gkfs-amount { align-self: flex-start; padding: 3px 8px; font-size: 28px; line-height: 1.1; font-weight: 800;
  background: var(--gkfs-yellow); color: var(--gkfs-dark); }
.gkfs-sub { font-size: 13px; color: #cfcbbf; }

/* ---------- Carrito, cajón y ventana de "producto agregado" (1.0.4, compacto) ----------
   Mismo aviso que la ficha de producto: camión + «Te faltan $X para el envío gratis»
   (#3d4148, importe #111214 600) y barra verde #18794e sobre #e6e7ea (4.4:1).
   Alcanzado: palomita y texto verde #18794e (5.3:1). Sin caja ni «Llevas / Meta».
   1.0.5: selectores .gkfs.gkfs-cart para ganarle a «.tv-addtocart-content .cart-content p» del tema. */
.gkfs.gkfs-cart { display: flex; flex-direction: column; gap: 8px; margin: 0 0 14px; padding: 0;
  background: none; border: 0; border-radius: 0; color: #3d4148; font-size: 14px; line-height: 1.4; }
.gkfs.gkfs-cart .gkfs-msg { display: flex; align-items: center; gap: 8px; margin: 0; color: #3d4148; font-size: 14px; font-weight: 400; line-height: 1.4; }
.gkfs.gkfs-cart .gkfs-msg svg { flex: 0 0 auto; width: 18px; height: 18px; }
.gkfs.gkfs-cart .gkfs-msg strong, .gkfs.gkfs-cart .gkfs-msg b { padding: 0; background: none; color: #111214; font-weight: 600; }
.gkfs-track { display: block; height: 4px; border-radius: 2px; background: #e6e7ea; overflow: hidden; }
.gkfs-fill { display: block; height: 100%; border-radius: 2px; background: #18794e; transition: width .3s ease; }
.gkfs.gkfs-ok .gkfs-msg { color: #18794e; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .gkfs-fill { transition: none; } }

/* Página del carrito: arriba del resumen, separado por una línea */
.cart-summary .gkfs.gkfs-cart { padding: 0 0 14px; border-bottom: 1px solid #e6e7ea; }
/* Cajón lateral: mismo margen lateral que las filas de totales (20 px) */
.gkfs-drawer { padding: 4px 20px 14px; }
.gkfs-drawer .gkfs.gkfs-cart { margin: 0; }
/* Ventana «Producto agregado» */
.gkfs-modal .gkfs.gkfs-cart { margin: 12px 0 14px; }

/* ---------- Móvil ---------- */
@media (max-width: 991px) {
  .tvall-product-branner:has(.gkfs-home) { margin-top: 22px; }
  .gkfs-home { height: auto; min-height: 0; flex-direction: row; align-items: center; gap: 14px; padding: 14px 16px; }
  .gkfs-home .gkfs-ico { width: 42px; height: 42px; border-radius: 10px; flex: 0 0 auto; }
  .gkfs-home .gkfs-ico svg { width: 24px; height: 24px; }
  .gkfs-txt { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 6px; }
  .gkfs-kicker { font-size: 15px; font-weight: 800; color: #fff; }
  .gkfs-title { font-size: 15px; font-weight: 600; }
  .gkfs-amount { align-self: center; font-size: 17px; padding: 1px 6px; }
  .gkfs-sub { display: none; }
}

/* ---------- Carrito: evitar el aviso de envío duplicado ----------
   En la página del carrito (#cart) el aviso de blockreassurance «El envío va
   por nuestra cuenta» dice lo mismo que este módulo, pero sin el avance.
   Se oculta SOLO ahí y SOLO si nuestro bloque está presente: si se apaga el
   interruptor «Mostrar en el carrito», el aviso del tema vuelve solo.
   En la ficha de producto no se toca, porque ahí no hay bloque nuestro. */
#cart:has(.cart-summary .gkfs-cart) .gank-trust__item--shipping,
#cart:has(.cart-summary .gkfs-cart) #block-reassurance .gank-trust__item--shipping { display: none; }
