
.gt-cc-wrap{ margin:18px 0 8px; padding:10px 0; border-top:1px solid rgba(0,0,0,.08); }
.gt-cc-title{ font-size:20px; font-weight:600; text-align:center; margin:10px 0 12px; }
.gt-cc-list{ display:flex; flex-direction:column; gap:10px; }
.gt-cc-card{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; padding:10px; border:1px solid rgba(0,0,0,.10);
  border-radius:10px; background:#fff;
}
.gt-cc-left{ display:flex; align-items:center; gap:10px; }
.gt-cc-thumb img{ width:56px; height:56px; object-fit:cover; border-radius:10px; }
.gt-cc-name{
  font-weight:600;
  line-height:1.25;
  /* Evita que estilos del tema rompan el texto letra-por-letra */
  word-break: normal !important;
  overflow-wrap: anywhere;
  white-space: normal;
}
.gt-cc-price{ opacity:.85; margin-top:2px; }
.gt-cc-mid{ flex:1; min-width:0; }
.gt-cc-variation select{
  margin-top:6px; width:100%; max-width:260px;
  padding:10px 12px; border-radius:10px; border:1px solid rgba(0,0,0,.12);
}
.gt-cc-right{ display:flex; align-items:center; }
.gt-cc-qty{ display:flex; align-items:center; gap:8px; }
.gt-cc-qty-input{
  width:54px; text-align:center; padding:8px 10px;
  border-radius:12px; border:1px solid rgba(0,0,0,.12);
}
.gt-cc-qty-btn{
  width:40px; height:40px; border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#f6f6f6; cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
  font-size:18px; line-height:1;
}
.gt-cc-check{ display:inline-flex; align-items:center; justify-content:center; }
.gt-cc-check input{ display:none; }
.gt-cc-check-ui{
  width:22px; height:22px; border-radius:6px;
  border:2px solid rgba(0,0,0,.25);
  display:inline-block; position:relative;
}
.gt-cc-toggle:checked + .gt-cc-check-ui{
  border-color: rgba(0,0,0,.65);
}
.gt-cc-toggle:checked + .gt-cc-check-ui:after{
  content:""; position:absolute; left:5px; top:1px;
  width:7px; height:13px;
  border: solid rgba(0,0,0,.85); border-width:0 3px 3px 0;
  transform: rotate(45deg);
}
@media (max-width: 560px){
  .gt-cc-card{
    align-items:flex-start;
    flex-wrap: wrap;
  }
  /* Deja que el nombre/precio tengan espacio suficiente */
  .gt-cc-mid{
    flex: 1 1 180px;
    min-width: 0;
  }
  /* La cantidad baja a una segunda fila para evitar apretar el texto */
  .gt-cc-right{
    flex: 1 0 100%;
    justify-content: center;
    margin-top:8px;
  }
  .gt-cc-qty{ justify-content:center; width:100%; }
  .gt-cc-variation select{ max-width:100%; }
}
