/* Barra inferior */
.anmile-mcart__bar{
  position:fixed; left:0; right:0; bottom:0;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  gap:12px; padding:10px 12px; background:#fff;
  border-top:1px solid #cdb897; box-shadow:0 -6px 18px rgba(0,0,0,.06);
  z-index:9998;
}
.anmile-mcart__btn{
  border-radius:14px; padding:10px 12px; font-family:"Rubik",sans-serif; font-weight:600;
  border:1px solid #cdb897; background:#fff; color:#2f261f;
}
.anmile-mcart__btn--open-checkout{
  background:#A65E33; color:#fff; border-color:#A65E33;
}
.anmile-mcart__btn--open-checkout:active{ transform:translateY(1px); }

.anmile-mcart__icon{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
  width:60px; height:60px; border-radius:50%;
  border:1px solid #cdb897; background:#fff;
  box-shadow:0 4px 14px rgba(0,0,0,.08);
  padding:0;
}
.anmile-mcart__icon svg{ fill:#213F32; }
.anmile-mcart__badge{
  position:absolute; right:-6px; top:-6px; min-width:20px; height:20px; padding:0 6px;
  border-radius:999px; background:#D33C2D; color:#fff; font-size:.75rem; display:inline-grid; place-items:center;
  box-shadow:0 2px 8px rgba(0,0,0,.22);
}

/* Panel */
.anmile-mcart__sheet{
  position:fixed; left:0; right:0; bottom:0;
  height:60vh; transform:translateY(100%); transition:transform .24s ease;
  background:#fff; border-top-left-radius:18px; border-top-right-radius:18px;
  box-shadow:0 -10px 30px rgba(0,0,0,.18); z-index:9999;
  display:flex; flex-direction:column;
}
.anmile-mcart__sheet--open{ transform:translateY(0); }

.anmile-mcart__sheet-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-bottom:1px solid #cdb897;
}
.anmile-mcart__clear-all{
  border:1px solid #cdb897; background:#fff; color:#2f261f;
  border-radius:10px; padding:8px 10px; font-weight:600;
  width:35%; height:35px;
}
.anmile-mcart__sheet-icon{
  width:48px; height:48px; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid #cdb897; background:#fff;
}
.anmile-mcart__close{
  background:#000; color:#fcfcfc;
  border:0; font-size:22px; line-height:1;
  padding:5px; width:35%; height:35px;
}

.anmile-mcart__list{ padding:10px 12px; overflow:auto; flex:1; }
.anmile-mcart__empty{ text-align:center; color:#6B8B6E; margin:18px 0; }

/* Ítems */
.anmile-mcart__items{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:10px;
}
.anmile-mcart__item{
  display:flex; flex-direction:row; align-items:center; gap:10px;
  border:1px solid #cdb897; border-radius:12px; padding:8px; background:#fff;
}
.anmile-mcart__thumb{ width:30%; }
.anmile-mcart__thumb img{
  border-radius:8px; width:100%; height:100%; object-fit:cover;
}
.anmile-mcart__info{
  width:60%;
  margin:0 10px;
}

/* Top: nombre + precio a la derecha */
.anmile-mcart__top{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; width:100%; margin-bottom:8px;
}
.anmile-mcart__name{
  font-family:"Rubik",sans-serif; font-weight:700; color:#213F32; text-decoration:none;
  flex:1 1 auto; min-width:0;
  display:inline-block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.anmile-mcart__price{
  flex:0 0 auto; font-weight:700; color:#3A2E25; margin-left:8px;
}

/* Fila inferior: qty + basurero */
.anmile-mcart__row{
  display:flex; align-items:center; gap:10px; width:100%;
}
.anmile-mcart__qty{
  display:flex; align-items:center; gap:6px;
  border:1px solid #cdb897; border-radius:10px; padding:4px 6px; background:#F8F7F4;
  width:100%; /* que tome el espacio y el basurero quede a la derecha */
  max-width:420px;
}
/* ====== Controles de cantidad: tipografía, tamaño y colores ====== */
.anmile-mcart__qty {
  height: 40px;                /* alto consistente */
  padding: 4px 6px;
}

.anmile-mcart__qty-btn{
  width: 40px; height: 32px;
  font-family: "Rubik", sans-serif;
  font-size: 18px;             /* que se vea el signo */
  line-height: 1;
  color: #213F32;              /* visibles sobre fondo blanco */
  background: #fff;
  border: 1px solid #cdb897;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
}

/* Input centrado y proporcionado con los botones */
.anmile-mcart__qty input[type="number"]{
  width: 52px;                 /* espacio cómodo para 2–3 dígitos */
  height: 32px;                /* mismo alto que los botones */
  text-align: center;
  font: 600 16px/1 "Rubik", sans-serif;
  color: #3A2E25;
  background: #fff;
  border: 1px solid #cdb897;
  border-radius: 8px;
  outline: none;
  padding: 0;
  appearance: textfield;       /* estándar */
}

/* Quita flechas de los <input type=number> en navegadores WebKit */
.anmile-mcart__qty input[type="number"]::-webkit-outer-spin-button,
.anmile-mcart__qty input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}

/* Estado focus accesible y consistente */
.anmile-mcart__qty input[type="number"]:focus,
.anmile-mcart__qty-btn:focus,
.anmile-mcart__trash:focus,
.anmile-mcart__close:focus{
  outline: 2px solid #6B8B6E;
  outline-offset: 1px;
}

/* ====== Botón Cerrar: que se lean las letras ====== */
.anmile-mcart__close{
  background: #000;            /* si te gusta negro, dejamos el contraste */
  color: #FFFFFF !important;   /* fuerza contraste */
  font: 600 14px/1 "Rubik", sans-serif;
  border: 0;
  border-radius: 10px;
  padding: 8px 12px;
  width: auto;                 /* deja de forzarlo al 35% */
  min-width: 96px;             /* tamaño mínimo legible */
  height: 35px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Si prefieres la paleta Anmile para Cerrar (opcional) */
/*
.anmile-mcart__close{
  background:#C07A45;
  color:#fff !important;
}
*/

/* Ajuste del contenedor de cabecera para botones con ancho auto */
.anmile-mcart__sheet-header{
  gap: 10px;
}
.anmile-mcart__trash {
    width: 63px;
    height: 38px;
    font-size: 0;
    padding: 0px;
    display: flex;
    flex-direction: row;
    align-items: center;
    background: #ffffff;
    border: 1px solid #000000;
}
.anmile-mcart__trash svg {
    width: 49px;
    height: 28px;
    color: white !important;
}

/* Footer */
.anmile-mcart__footer{
  border-top:1px solid #cdb897; padding:12px;
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; background:#fff;
}
.anmile-mcart__total{ font-family:"Rubik",sans-serif; color:#3A2E25; display:flex; gap:8px; font-weight:700; }
.anmile-mcart__pay{
  background:#A65E33; color:#fff; border:1px solid #A65E33; border-radius:12px; padding:10px 14px; font-weight:800; text-decoration:none;
}

/* Evita que la barra tape el contenido */
body{ padding-bottom:86px; }

/* Ajustes finos en móviles muy angostos */
@media (max-width: 360px){
  .anmile-mcart__qty-btn{ width:34px; height:30px; }
  .anmile-mcart__trash{ width:42px; height:36px; }
}
