/* ===== Carro v4: selector cantidad compacto con affordance ===== */

.ltk-cart-qty {
  gap: .35rem;
  align-items: flex-start;
}

.ltk-cart-qty .text-muted {
  font-size: .78rem;
  line-height: 1;
  margin-top: 2px;
}

/* Select compacto, con flecha visible */
.ltk-qty-select {
  height: 28px !important;
  min-height: 28px !important;
  padding: 2px 26px 2px 8px !important; /* espacio para flecha */
  font-size: .85rem !important;
  line-height: 1.1 !important;
  border-radius: 8px;
  max-width: 72px;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 10px 6px;

  cursor: pointer;
}

/* =========================
   Checkout v4 (Carro + Despacho + Pago)
   ========================= */

.ltk-cart-wrap{padding: 1.25rem 0 2rem;}
.ltk-cart-hero{
  background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(16,24,40,.08);
  padding:1.1rem 1.25rem; margin:1rem 0 1.25rem; position:relative; overflow:hidden;
  border:1px solid rgba(16,24,40,.06);
}
.ltk-cart-hero h1,
.ltk-cart-hero__title{font-size:1.25rem;margin:0;font-weight:800;}
.ltk-cart-hero p,
.ltk-cart-hero__subtitle{margin:.35rem 0 0;color:#6b7280;}

.ltk-stepbar, .ltk-steps{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem;}
.ltk-step{
  display:flex;align-items:center;gap:.5rem;
  padding:.45rem .7rem;border-radius:999px;background:#f3f4f6;color:#374151;font-size:.9rem;
  border:1px solid rgba(16,24,40,.06);
}
.ltk-step.is-active,
.ltk-step--active{background:#e8f4ff;color:#0b5394;border-color:rgba(13,110,253,.22);}
.ltk-step-dot, .ltk-step__num{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid rgba(16,24,40,.12);font-weight:800;font-size:.8rem;
}

.ltk-cart-panel{
  background:#fff;border-radius:18px;box-shadow:0 10px 28px rgba(16,24,40,.08);
  border:1px solid rgba(16,24,40,.06);
}
.ltk-cart-panel__head{
  padding:1rem 1.1rem;border-bottom:1px solid rgba(16,24,40,.06);
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
}
.ltk-cart-panel__title{margin:0;font-weight:900;font-size:1rem;}
.ltk-cart-panel__hint{color:#6b7280;font-size:.9rem;line-height:1.2;}
.ltk-cart-panel__body{padding:1rem 1.1rem;}

.ltk-summary{position:sticky; top:110px;}
.ltk-summary-box .img-pago{cursor:pointer; max-width: 100%; height:auto;}

.ltk-choice-card{
  display:flex;gap:.75rem;align-items:center;
  padding:.9rem 1rem;border:1px solid rgba(0,0,0,.08);
  border-radius:16px;transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  box-shadow:0 6px 20px rgba(15,23,42,.06);
}
.ltk-choice-card:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(15,23,42,.10);}
.ltk-choice-card__icon{
  width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(59,130,246,.10);flex:0 0 40px;
}
.ltk-choice-card.bg-info .ltk-choice-card__icon,
.ltk-choice-card.bg-primary .ltk-choice-card__icon{background:rgba(255,255,255,.20);}
.ltk-choice-card__title{font-weight:900;line-height:1.1;}
.ltk-choice-card__desc{color:rgba(0,0,0,.55);font-size:.92rem;margin-top:.15rem;}
.ltk-choice-card.bg-info .ltk-choice-card__desc,
.ltk-choice-card.bg-primary .ltk-choice-card__desc{color:rgba(255,255,255,.85);}

.ltk-subpanel{
  padding:1rem;border:1px solid rgba(0,0,0,.08);
  border-radius:16px;background:rgba(255,255,255,.7);
}

    .btn-whatsapp{
      display:block;width:70px;height:70px;color:#fff;position:fixed;right:20px;bottom:20px;
      border-radius:50%;line-height:80px;text-align:center;z-index:999;
    }

    /* Cart v4 (inline para que quede bien sin pedirte CSS extra) */
    .ltk-cart-wrap{padding: 1.25rem 0 2rem;}
    .ltk-cart-hero{
      background: #fff;border-radius: 18px;box-shadow: 0 10px 28px rgba(16,24,40,.08);
      padding: 1.1rem 1.25rem; margin: 1rem 0 1.25rem; position: relative; overflow: hidden;
      border: 1px solid rgba(16,24,40,.06);
    }
    .ltk-cart-hero h1{font-size: 1.25rem; margin:0; font-weight: 700;}
    .ltk-cart-hero p{margin:.35rem 0 0; color:#6b7280;}
    .ltk-stepbar{
      display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem;
    }
    .ltk-step{
      display:flex;align-items:center;gap:.5rem;
      padding:.45rem .7rem;border-radius:999px;background: #f3f4f6;color:#374151;font-size:.9rem;
      border: 1px solid rgba(16,24,40,.06);
    }
    .ltk-step.is-active{background:#e8f4ff;color:#0b5394;border-color: rgba(13,110,253,.22);}
    .ltk-step-dot{
      width:22px;height:22px;border-radius:50%;display:grid;place-items:center;
      background:#fff;border:1px solid rgba(16,24,40,.12);font-weight:700;font-size:.8rem;
    }
    .ltk-cart-panel{
      background:#fff;border-radius:18px;box-shadow: 0 10px 28px rgba(16,24,40,.08);
      border:1px solid rgba(16,24,40,.06);
    }
    .ltk-cart-panel__head{
      padding: 1rem 1.1rem; border-bottom:1px solid rgba(16,24,40,.06);
      display:flex;align-items:center;justify-content:space-between;gap:1rem;
    }
    .ltk-cart-panel__title{margin:0;font-weight:800;font-size:1rem;}
    .ltk-cart-empty{padding: 1.2rem 1.1rem; color:#6b7280;}
    .ltk-cart-item{
      display:flex; gap: .9rem; padding: 1rem 1.1rem; border-bottom:1px solid rgba(16,24,40,.06);
      align-items:flex-start;
    }
    .ltk-cart-item:last-child{border-bottom:none;}
    .ltk-cart-thumb{
      width:86px;height:86px;border-radius:14px;overflow:hidden;flex:0 0 auto;
      background:#f3f4f6;border:1px solid rgba(16,24,40,.06);
    }
    .ltk-cart-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
    .ltk-cart-info{flex: 1 1 auto; min-width: 0;}
    .ltk-cart-name{font-weight:800; margin:0 0 .25rem; font-size: .98rem; line-height: 1.25;}
    .ltk-cart-meta{margin:0; color:#6b7280; font-size:.9rem;}
    .ltk-cart-right{flex:0 0 auto; text-align:right; min-width: 155px;}
    .ltk-cart-price{font-weight:900; font-size: 1rem; margin: 0 0 .35rem;}
    .ltk-cart-qty{
      display:flex; justify-content:flex-end; gap:.5rem; align-items:center; margin-top:.35rem;
    }
    .ltk-cart-qty select{max-width: 92px;}
    .ltk-cart-remove{
      display:inline-flex; align-items:center; gap:.45rem;
      margin-top:.55rem; background:transparent; border:none; color:#b42318;
      font-weight:700; padding:0; cursor:pointer;
    }
    .ltk-cart-remove:hover{color:#7a1b14; text-decoration: underline;}
    .ltk-summary{
      position: sticky; top: 110px;
    }
    .ltk-summary__body{padding: 1rem 1.1rem;}
    .ltk-summary__title{margin:0 0 .4rem;font-weight:900;}
    .ltk-summary__note{color:#6b7280; font-size:.92rem; margin:0 0 .85rem;}
    .ltk-summary__row{
      display:flex; justify-content:space-between; align-items:baseline;
      padding: .6rem 0; border-top:1px dashed rgba(16,24,40,.16);
    }
    .ltk-summary__row:first-of-type{border-top:none;padding-top:.2rem;}
    .ltk-summary__label{color:#6b7280;}
    .ltk-summary__value{font-weight:900;}
    .ltk-summary__cta{padding: 0 1.1rem 1.1rem;}
    .ltk-btn-wide{width:100%; border-radius: 999px; padding:.75rem 1rem; font-weight:800;}
    
    
/* ================================
   Medios de pago - ajuste visual
   Solo afecta checkout / despacho
   ================================ */

.img-pago {
  max-width: 140px;      /* tamaño visual correcto */
  width: 100%;
  height: auto;
  cursor: pointer;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.img-pago:hover {
  transform: scale(1.05);
  opacity: 0.9;
}

/* En mobile, un poco más chico */
@media (max-width: 576px) {
  .img-pago {
    max-width: 120px;
  }
}
    


/* Pago: hacer que los logos sean opciones clickeables y evidentes */
.ltk-pay__title{
  font-weight: 800;
  margin-bottom: .5rem;
}

.ltk-pay__hint{
  margin-top: .4rem;
  font-size: .85rem;
  color: rgba(16,24,40,.65);
}

.ltk-pay-option{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .35rem;

  border: 1px solid rgba(16,24,40,.14);
  border-radius: 14px;
  background: #fff;

  padding: .75rem .5rem;
  cursor: pointer;

  transition: transform .08s ease, box-shadow .12s ease, border-color .12s ease;
}

.ltk-pay-option:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(16,24,40,.12);
  border-color: rgba(16,24,40,.24);
}

.ltk-pay-option:focus,
.ltk-pay-option:focus-visible{
  outline: none;
  border-color: rgba(0,123,255,.55);
  box-shadow: 0 0 0 .2rem rgba(0,123,255,.18);
}

.ltk-pay-option__label{
  font-weight: 800;
  font-size: .9rem;
  color: rgba(16,24,40,.85);
}

/* Opcional: mantener pago visible dentro del resumen al hacer scroll */
.ltk-summary .ltk-pay{
  position: sticky;
  bottom: 0;
  background: #fff;
  padding-bottom: .5rem;
}

/* ===== Pago: bloque auto-contenido (evita overlay con texto del resumen) ===== */
.ltk-pay{
  margin-top: .75rem;
  clear: both;
}

.ltk-pay__box{
  border: 1px solid rgba(16,24,40,.10);
  border-radius: 16px;
  padding: .75rem .75rem .5rem;
  background: #fff;
}

.ltk-pay__header{
  margin-bottom: .6rem;
}

.ltk-pay__title{
  font-weight: 800;
  font-size: .95rem;
  line-height: 1.2;
  margin: 0;
}

.ltk-pay__subtitle{
  font-size: .82rem;
  color: rgba(16,24,40,.60);
  margin-top: .2rem;
  line-height: 1.2;
}

/* Botones */
.ltk-pay-option{
  width: 100%;
  border: 1px solid rgba(16,24,40,.12);
  border-radius: 14px;
  background: #fff;
  padding: .6rem .5rem;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
  transition: transform .08s ease, box-shadow .12s ease, border-color .12s ease;
}

.ltk-pay-option:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(16,24,40,.10);
  border-color: rgba(16,24,40,.22);
}

.ltk-pay-option:focus,
.ltk-pay-option:focus-visible{
  outline: none;
  border-color: rgba(0,123,255,.55);
  box-shadow: 0 0 0 .2rem rgba(0,123,255,.18);
}

.ltk-pay-option__label{
  font-weight: 800;
  font-size: .85rem;
  color: rgba(16,24,40,.85);
  line-height: 1.1;
}

/* Logos: siguen chicos como ya lo dejaste */
.img-pago{
  max-width: 140px;
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* FIX: el sticky del bloque de pago en resumen provoca superposición */
.ltk-summary .ltk-pay{
  position: static !important;
  bottom: auto !important;
}

/* ===== Pago rápido en el HERO (desktop) ===== */
.ltk-cart-hero__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
}

.ltk-cart-hero__left{
  min-width:0;
}

.ltk-cart-hero__right{
  flex:0 0 auto;
  display:none; /* se habilita en desktop */
}

/* Mostrar a la derecha solo en pantallas grandes */
@media (min-width: 992px){
  .ltk-cart-hero__right{ display:block; }
}

.ltk-pay-quick{
  background:#fff;
  border:1px solid rgba(16,24,40,.08);
  border-radius:16px;
  padding:.75rem .75rem .6rem;
  box-shadow:0 10px 22px rgba(16,24,40,.06);
  min-width: 260px;
}

.ltk-pay-quick__title{
  font-weight:900;
  font-size:.9rem;
  margin:0 0 .45rem;
}

.ltk-pay-quick__actions{
  display:flex;
  gap:.5rem;
}

.ltk-pay-quick__btn{
  flex:1 1 0;
  border:1px solid rgba(16,24,40,.14);
  border-radius:14px;
  background:#fff;
  padding:.55rem .45rem;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:.25rem;
  transition:transform .08s ease, box-shadow .12s ease, border-color .12s ease;
}

.ltk-pay-quick__btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 18px rgba(16,24,40,.10);
  border-color:rgba(16,24,40,.22);
}

.ltk-pay-quick__btn:focus,
.ltk-pay-quick__btn:focus-visible{
  outline:none;
  border-color: rgba(0,123,255,.55);
  box-shadow: 0 0 0 .2rem rgba(0,123,255,.18);
}

.ltk-pay-quick__img{
  max-width:120px;
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
}

.ltk-pay-quick__label{
  font-weight:900;
  font-size:.82rem;
  color:rgba(16,24,40,.85);
  line-height:1.1;
}

.ltk-pay-quick__hint{
  margin-top:.45rem;
  font-size:.78rem;
  color:rgba(16,24,40,.60);
  line-height:1.1;
}

/* Ajuste fino: bloque pago en hero */
.ltk-pay-quick{
  min-width: 300px;        /* antes 260 */
  padding: .9rem .9rem .75rem;
}

.ltk-pay-quick__actions{
  gap: .65rem;             /* un poco más de aire */
}

.ltk-pay-quick__hint{
  margin-top: .55rem;
}

.ltk-pay-quick__btn{
  background: linear-gradient(180deg, #fff 0%, rgba(16,24,40,.02) 100%);
}

.ltk-pay-quick__btn:hover{
  box-shadow: 0 12px 22px rgba(16,24,40,.12);
}

.ltk-cart-hero__row{
  align-items: flex-start; /* importante */
}

/* ===== Selección método de pago + botón continuar ===== */

.ltk-pay-quick__btn,
.ltk-pay-option {
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

/* Estado seleccionado */
.ltk-pay-quick__btn.is-selected,
.ltk-pay-option.is-selected {
  border: 2px solid rgba(13, 110, 253, .55);
  box-shadow: 0 10px 26px rgba(13, 110, 253, .14);
  transform: translateY(-1px);
}

/* Hover (sin “romper” el seleccionado) */
.ltk-pay-quick__btn:hover,
.ltk-pay-option:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(16, 24, 40, .10);
}

/* Botón continuar */
.ltk-pay-continue {
  margin-top: .65rem;
  font-weight: 800;
  border-radius: 14px;
  padding: .75rem 1rem;
}

.ltk-pay-continue:disabled {
  opacity: .55;
  cursor: not-allowed;
  box-shadow: none;
}

/* Switch LudoPesos */
.ltk-switch-row{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.ltk-switch{
  position:relative;
  width:46px;
  height:28px;
  display:inline-block;
  flex:0 0 auto;
}

.ltk-switch input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}

.ltk-switch__track{
  position:absolute;
  inset:0;
  background: rgba(16,24,40,.12);
  border-radius: 999px;
  transition: .18s ease;
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.08);
}

.ltk-switch__thumb{
  position:absolute;
  top:4px;
  left:4px;
  width:20px;
  height:20px;
  border-radius: 999px;
  background:#fff;
  box-shadow: 0 6px 14px rgba(16,24,40,.18);
  transition: .18s ease;
}

.ltk-switch input:checked ~ .ltk-switch__track{
  background: rgba(0,123,255,.22);
  box-shadow: inset 0 0 0 1px rgba(0,123,255,.25);
}

.ltk-switch input:checked ~ .ltk-switch__thumb{
  transform: translateX(18px);
}

.ltk-switch input:focus-visible ~ .ltk-switch__track{
  outline: 3px solid rgba(0,123,255,.25);
  outline-offset: 2px;
}

.ltk-switch-text{
  min-width:0;
}

.ltk-switch-title{
  font-weight:800;
  line-height:1.1;
}

.ltk-switch-sub{
  color: rgba(16,24,40,.62);
  font-size: .875rem;
  line-height:1.2;
}

/* Switch estilo iOS */
.ltk-switch-row{
  display:flex;
  align-items:center;
  gap:.75rem;
}

.ltk-switch{
  position:relative;
  width:54px;
  height:30px;
  display:inline-block;
  flex:0 0 auto;
  user-select:none;
}

/* Oculta el checkbox nativo (si esto no corre, verás el cuadrito) */
.ltk-switch > input{
  position:absolute !important;
  opacity:0 !important;
  width:1px !important;
  height:1px !important;
  margin:0 !important;
  padding:0 !important;
  left:-9999px !important;
}

.ltk-switch__track{
  position:absolute;
  inset:0;
  border-radius:999px;
  background: rgba(16,24,40,.14);
  box-shadow: inset 0 0 0 1px rgba(16,24,40,.10);
  transition: .18s ease;
}

.ltk-switch__thumb{
  position:absolute;
  top:4px;
  left:4px;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#fff;
  box-shadow: 0 8px 18px rgba(16,24,40,.18);
  transition: .18s ease;
}

.ltk-switch__state{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.04em;
  color: rgba(16,24,40,.55);
  pointer-events:none;
}

.ltk-switch__state--off{ left:10px; }
.ltk-switch__state--on{ right:10px; opacity:.0; }

.ltk-switch > input:checked ~ .ltk-switch__track{
  background: rgba(0,123,255,.24);
  box-shadow: inset 0 0 0 1px rgba(0,123,255,.28);
}

.ltk-switch > input:checked ~ .ltk-switch__thumb{
  transform: translateX(24px);
}

.ltk-switch > input:checked ~ .ltk-switch__state--off{ opacity:.0; }
.ltk-switch > input:checked ~ .ltk-switch__state--on{ opacity:1; color: rgba(0,123,255,.9); }

.ltk-switch > input:focus-visible ~ .ltk-switch__track{
  outline: 3px solid rgba(0,123,255,.25);
  outline-offset: 2px;
}

.ltk-switch-text{ min-width:0; }
.ltk-switch-title{ font-weight:800; line-height:1.1; }
.ltk-switch-sub{
  color: rgba(16,24,40,.62);
  font-size: .875rem;
  line-height:1.2;
}

/* =========================
   MODALES v4 (estilo Ludoteka)
   ========================= */

.modal .modal-content.ltk-modal {
  border: 0;
  border-radius: 18px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, .18);
  overflow: hidden;
}

.modal .ltk-modal .modal-header {
  border-bottom: 1px solid rgba(15, 23, 42, .08);
  padding: 16px 18px;
}

.modal .ltk-modal .modal-title {
  font-weight: 700;
  font-size: 1.05rem;
}

.modal .ltk-modal .modal-body {
  padding: 16px 18px;
}

.modal .ltk-modal .modal-footer {
  border-top: 1px solid rgba(15, 23, 42, .08);
  padding: 12px 18px 16px;
}

.ltk-modal__body {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.ltk-modal__icon {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  flex: 0 0 auto;
  user-select: none;
}

.ltk-modal__text {
  line-height: 1.35;
}

.ltk-modal__hint {
  margin-top: 8px;
  color: #6b7280;
  font-size: .92rem;
}

/* variantes */
.ltk-modal--info .ltk-modal__icon {
  background: rgba(59, 130, 246, .12);
  color: #2563eb;
}

.ltk-modal--warning .ltk-modal__icon {
  background: rgba(245, 158, 11, .14);
  color: #b45309;
}

.ltk-modal--danger .ltk-modal__icon {
  background: rgba(239, 68, 68, .12);
  color: #dc2626;
}

.ltk-modal--success .ltk-modal__icon {
  background: rgba(34, 197, 94, .14);
  color: #16a34a;
}

/* botón “Aceptar” más alineado a tu look */
.ltk-modal .btn {
  border-radius: 999px;
  padding: .55rem 1.05rem;
  font-weight: 700;
}
