/* ============================================================
   TUDETIC · Proceso de compra en 5 pasos (carrito + checkout) — 2026-10-29
   Se carga desde checkout.tpl y cart.tpl (fuera del CCC). JS: tic2026-checkout-pasos.js
   - Pasos fijos justo bajo la cabecera sticky (--tdc-hdr la mide el JS), sin hueco.
   - Móvil: sin el resumen lateral en los pasos 2-5 (el resumen es el paso 1).
   - Cupón como fila propia encima del paso.
   - Previsión de entrega plegada en móvil.
   - Fuera publicidad repetida (pago seguro, envíos, atención, PayPal 3 plazos).
   ============================================================ */

/* ----- Cabecera: el min-height inline de header.tpl (152px) deja una franja blanca en móvil ----- */
@media (max-width: 991.98px) {
  body#checkout header#header,
  body#cart header#header { min-height: 0 !important; }
}

/* ----- Pasos ----- */
body#checkout .tdc-pasos,
body#cart .tdc-pasos {
  position: sticky;
  top: var(--tdc-hdr, 0px);
  z-index: 90;
  background: #fff;
  border-bottom: 1px solid #e3e7ee;
  margin: 0 0 14px;
  padding: 8px 0 6px;
}
body#cart .tdc-pasos { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }
.tdc-pasos .checkout-steps__desktop { display: block !important; max-width: 960px; margin: 0 auto; padding: 0 12px; }
.tdc-pasos + * .checkout-steps__mobile,
.tdc-pasos .checkout-steps__mobile { display: none !important; }
.tdc-pasos .checkout-steps__list {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 4px;
  width: 100% !important; margin: 0 !important; padding: 0 !important; list-style: none;
}
.tdc-pasos .checkout-steps__step {
  position: relative; flex: 1 1 0 !important; width: auto !important; min-width: 0;
  display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 2px;
}
/* línea que une los pasos */
.tdc-pasos .checkout-steps__step::before { display: none !important; }
.tdc-pasos .checkout-steps__step::after {
  content: ""; display: block !important; position: absolute; top: 13px; left: calc(50% + 17px); right: calc(-50% + 17px);
  height: 2px; background: #dee2e6; border: 0;
}
.tdc-pasos .checkout-steps__step:last-child::after { display: none !important; }
.tdc-pasos .checkout-steps__step--success::after { background: #188251; }
.tdc-pasos .checkout-steps__number {
  display: flex; align-items: center; justify-content: center;
  width: 28px; height: 28px; margin: 0 0 3px; border-radius: 50%;
  background: #e9ecef; color: #6c757d; font-size: .8rem; font-weight: 700; line-height: 1;
}
.tdc-pasos .checkout-steps__step--success .checkout-steps__number { background: #188251; color: #fff; }
.tdc-pasos .checkout-steps__step--current .checkout-steps__number { background: #212529; color: #fff; box-shadow: 0 0 0 3px rgba(33,37,41,.15); }
.tdc-pasos .checkout-steps__btn {
  padding: 0 !important; border: 0; background: none; font-size: .78rem; line-height: 1.15; font-weight: 600;
  color: #6c757d; text-decoration: none; white-space: normal; overflow-wrap: anywhere;
}
.tdc-pasos .checkout-steps__step--success .checkout-steps__btn { color: #188251; }
.tdc-pasos .checkout-steps__step--current .checkout-steps__btn { color: #212529; }
.tdc-pasos .checkout-steps__btn:disabled,
.tdc-pasos .checkout-steps__btn.disabled { opacity: 1; color: #adb5bd; }
.tdc-pasos a.checkout-steps__btn:hover { text-decoration: underline; }
@media (max-width: 575.98px) {
  body#checkout .tdc-pasos, body#cart .tdc-pasos { padding: 6px 0 4px; margin-bottom: 10px; }
  .tdc-pasos .checkout-steps__desktop { padding: 0 4px; }
  .tdc-pasos .checkout-steps__number { width: 24px; height: 24px; font-size: .72rem; margin-bottom: 2px; }
  .tdc-pasos .checkout-steps__step::after { top: 11px; left: calc(50% + 15px); right: calc(-50% + 15px); }
  .tdc-pasos .checkout-steps__btn { font-size: .62rem; }
}
/* el título de cada paso, más discreto: el paso ya se ve arriba */
body#checkout .checkout-grid__content .page-title-section { font-size: 1.2rem; margin: 0 0 .7rem; padding-bottom: .5rem; }

/* ----- Móvil: el resumen lateral no acompaña los pasos 2-5 ----- */
@media (max-width: 991.98px) {
  body#checkout .checkout-grid__aside { display: none !important; }
}

/* ----- Total al pagar (solo móvil, paso de pago; lo muestra el JS) ----- */
.tdc-total-pago {
  display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap;
  margin: 12px 0 0; padding: 10px 12px; border: 1px solid #dee2e6; border-radius: 6px; background: #f8f9fa;
}
.tdc-total-pago[hidden] { display: none !important; }
.tdc-total-pago__label { font-weight: 600; color: #212529; }
.tdc-total-pago__valor { font-size: 1.15rem; font-weight: 800; color: #212529; margin-left: auto; font-variant-numeric: tabular-nums; }
.tdc-total-pago__ver { flex-basis: 100%; font-size: .8rem; }

/* ----- Cupón: fila propia encima del paso (checkout) ----- */
body#checkout .tdc-cupon-checkout { margin: 0 0 14px; }
body#checkout .tdc-cupon-checkout .cart-voucher {
  border: 1px dashed #b8c2d3; border-radius: 6px; background: #f8fafd; padding: 2px 12px;
}
body#checkout .tdc-cupon-checkout .cart-voucher__list { list-style: none; margin: 8px 0 4px; padding: 0; }
body#checkout .tdc-cupon-checkout .cart-voucher__list .cart-summary__line { display: flex; justify-content: space-between; align-items: center; gap: .5rem; font-weight: 600; color: #188251; }
body#checkout .tdc-cupon-checkout .cart-voucher__value { display: flex; align-items: center; gap: .4rem; }
body#checkout .tdc-cupon-checkout .accordion-button { padding: .6rem 0; font-weight: 600; font-size: .9rem; background: transparent; box-shadow: none; color: #3C5CA7; }
body#checkout .tdc-cupon-checkout .accordion-item { background: transparent; border: 0; }
body#checkout .tdc-cupon-checkout .accordion-body { padding: 0 0 10px; }
body#checkout .tdc-cupon-checkout .cart-voucher__form,
body#cart .cart-voucher__form { display: flex; gap: 8px; }
body#checkout .tdc-cupon-checkout .cart-voucher__form .form-control,
body#cart .cart-voucher__form .form-control { flex: 1 1 auto; min-width: 0; }
body#checkout .tdc-cupon-checkout .cart-voucher__highlight { margin: 0 0 8px; font-size: .82rem; }
body#checkout .tdc-cupon-checkout .cart-voucher__highlight .h5 { font-size: .82rem; margin: 0 0 2px; }
body#checkout .tdc-cupon-checkout .cart-voucher__offers { margin: 0; padding: 0; list-style: none; }

/* ----- Transportes que no deja el cupón ----- */
.delivery-option__item.tdc-envio-bloqueado { opacity: .5; }
.delivery-option__item.tdc-envio-bloqueado .delivery-option__label { cursor: not-allowed; }
.tdc-envio-cupon-aviso { margin: 0 0 8px; padding: 8px 12px; border-radius: 6px; background: #e7f4ee; color: #146c43; font-size: .85rem; }

/* ----- Previsión de entrega: plegada en móvil (el JS añade el botón) ----- */
@media (max-width: 991.98px) {
  .tdp-block--cart.tdc-tdp-plegado .tdp-block__route,
  .tdp-block--cart.tdc-tdp-plegado .tdp-probability { display: none !important; }
}
.tdc-tdp-toggle {
  display: none; margin: 4px 0 0; padding: 0; border: 0; background: none;
  color: #3C5CA7; font-size: .8rem; font-weight: 600; text-decoration: underline; cursor: pointer;
}
@media (max-width: 991.98px) { .tdc-tdp-toggle { display: inline-block; } }
.tdp-block--cart > .tdc-tdp-toggle { grid-column: 2; justify-self: start; white-space: nowrap; }
.tdp-block--pending .tdc-tdp-toggle { display: none !important; }

/* ----- Publicidad repetida fuera del proceso de compra ----- */
body#checkout .blockreassurance,
body#checkout .tic-reassure,
body#cart .tic-reassure,
body#cart .sum-secure,
body#checkout [data-pp-message],
body#cart [data-pp-message] { display: none !important; }
/* el selector de tiendas flotante tapa los botones en móvil */
@media (max-width: 991.98px) {
  body#checkout #tdss-rail, body#checkout #tdss-fab { display: none !important; }
}
